IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Copie de fichiers en contexte JSF


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Copie de fichiers en contexte JSF
    je suis en train de developper une application JSF et j ai besoin d y integrer un fonctionnalité (methode) copier_coller des fichiers
    mais quand je fait appel à la methode "DoCopy" camarche pas et ca me sort l'erreur suivante :

    javax.faces.FacesException: Can't instantiate class: 'javaSrc.CopieFile'.. class javaSrc.CopieFile : java.lang.InstantiationException: javaSrc.CopieFileB]


    jé essayé ce bout de code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    package javaSrc;
     
    import java.io.*;
    import java.net.*;
     
    public class CopieFile extends File {
        public CopieFile(String pathname) {
            super(pathname);
        }
     
     
        public CopieFile(String parent, String child) {
            super(parent, child);
        }
        public CopieFile(File parent, String child) {
            super(parent, child);
        }
        public CopieFile(URI uri) {
            super(uri);
        }
     
     
        public static void copier(File ficLu, File ficEcrit, int tailleCopie) throws IOException{
            FileInputStream read = new FileInputStream(ficLu);
            try {        
              FileOutputStream write = new FileOutputStream(ficEcrit);
              try {
                byte[] tabLu = new byte[tailleCopie];
                int nbLu;
                while((nbLu = read.read(tabLu)) > 0){
                  write.write(tabLu,0,nbLu);
                }
              } finally {
                write.close();
              }
            } finally {
              read.close();
            }        
        }
        public static void copier(File ficLu, File ficEcrit) throws IOException{
            CopieFile.copier(ficLu, ficEcrit,10240);    
        }
     
        public static void copier(String ficLu, String ficEcrit) throws IOException{
            File fficLu = new File(ficLu);
            File fficEcrit = new File(ficEcrit);
            CopieFile.copier(fficLu, fficEcrit);
        }
     
        public void DoCopy() {
     
            try {
            copier("E:\\izemmmm.doc","C:\\izemOUJDID.doc");
            } catch (IOException e) {
                e.printStackTrace();
            }    
        }
    }
    Merci Bcp pour votre aide

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour à toi, et bienvenue.

    Quelques petites choses :

    1. Il ne s'agit pas de copier-coller, mais de copie de fichier.
    2. Le problème n'est aucunement lié à JSF, c'est du Java de "base".

    Sinon, je te propose ce code, plus simple, pour réaliser la copie de 2 fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
        public void copyFile(File src, File dest) throws IOException {
            FileInputStream fis = null;
            FileOutputStream fos = null;
            try {
                fis = new FileInputStream(src);
                fos = new FileOutputStream(dest);
                FileChannel channelSrc = fis.getChannel();
                FileChannel channelDest = fos.getChannel();
                channelSrc.transferTo(0, channelSrc.size(), channelDest);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (fis != null) {
                        fis.close();
                    }
                    if (fos != null) {
                        fos.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    (FileChannel fait partie du package java.nio.channels)
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut
    Merci pour votre reponse et pour le petit commentaire aussi .
    en fait je code que j'ai utiliser fonctionne il suffit juste d'enlever la partie suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    extends File {
        public CopieFile(String pathname) {
            super(pathname);
        }
     
     
        public CopieFile(String parent, String child) {
            super(parent, child);
        }
        public CopieFile(File parent, String child) {
            super(parent, child);
        }
        public CopieFile(URI uri) {
            super(uri);
        }
    cad ; l'heritage les constructeurs
    apres, a devrait marcher a merveil

    voila mon code actuel (je croi qu'il faut ajouter de petite chose pour gere la location de la memoire par les streams) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    package javaSrc;
     
    import java.io.*;
    import java.net.*;
     
    public class CopieFile {
     
        public static void copier(File ficLu, File ficEcrit, int tailleCopie) throws IOException{
            FileInputStream read = new FileInputStream(ficLu);
            try {        
              FileOutputStream write = new FileOutputStream(ficEcrit);
              try {
                byte[] tabLu = new byte[tailleCopie];
                int nbLu;
                while((nbLu = read.read(tabLu)) > 0){
                  write.write(tabLu,0,nbLu);
                }
              } finally {
                write.close();
              }
            } finally {
              read.close();
            }        
        }
        public static void copier(File ficLu, File ficEcrit) throws IOException{
            CopieFile.copier(ficLu, ficEcrit,10240);    
        }
     
        public static void copier(String ficLu, String ficEcrit) throws IOException{
            File fficLu = new File(ficLu);
            File fficEcrit = new File(ficEcrit);
            CopieFile.copier(fficLu, fficEcrit);
        }
     
        public void methodeCopier() {
     
            try {
                copier("C:\\Uploads\\JSF+HIBERNATE.pdf","E:\\monDossier\\JSF+HIBERNATE.pdf"       );
                System.out.println("Parfait");
            } catch(IOException e) 
            {    System.out.println("\n\n ERREURS :\n\n");    
                e.printStackTrace();
            }    
        }
    }
    Actuellement le soucis que j'ai est le suivant :
    Est ce que je peux detruire ces fichiers de leur endroit initial apres les avoir deplacé.??
    Merci votre aide

Discussions similaires

  1. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  2. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 22h35
  3. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  4. [tomcat]acces fichier dans contexte
    Par krollette dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/01/2004, 14h17
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo