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

Java Discussion :

Copie récursive de répertoire en gardant le répertoire parent


Sujet :

Java

  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut Copie récursive de répertoire en gardant le répertoire parent
    Bonjour,
    j'essaiye de copier un répertoire de manière récursive en gardant le répertoire parent, mais seul les répertoires sont créé mais pas les fichier qu'ils contiennent.
    Voici l'arborescence que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Rep-Parent
            |---Fichier1
            |---Rep-Fils1
            |---Rep-Fils2
                        |--Fichier-Petit-Fils
                        |---Rep-Petits-Fils
                                          |-- Rep-Arrière-Petits-Fils
                                                        |--Fichier
    Notez bien que je veux garder le répertoire parent. voici comment j'appel ma fonction de copie dans mon main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Test().copy(new File("/home/Rep-Parent"), new File("/tmp"));
    et voici ce que je veux obtenir dans tmp quand je parle de répertoire parent avec les sous répertoire bien entendu.
    Voici ma fonction copy
    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
     public static void copy(File src, File dest) throws Exception {
     
            if (src.isDirectory()) {
     
                File remoteDir = new File(dest, src.getName());
                remoteDir.mkdir();
                File newDest = new File(dest, src.getName());
     
                File[] paths = src.listFiles();
     
                for (File file : paths) {
                    System.out.println("FILE "+file);
                        copy(file, newDest);
                }
     
     
            } else if(src.isFile()){
                //if file, then copy it
                System.out.println(src+ " COPIER DANS " + dest);
     
     
               InputStream in = new FileInputStream(src);
                OutputStream out = new FileOutputStream(dest);
     
                byte[] buffer = new byte[1024];
     
                int length;
                //copy the file content in bytes
                while ((length = in.read(buffer)) > 0) {
                    out.write(buffer, 0, length);
                }
     
                in.close();
                out.close();
     
            }
    Si quelqu'un voit où ça coince ça m'aidera
    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    C'est quoi, dest ?

    Un peu de débogage aurait trouvé ça très vite -_-°...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    dest c'est le répertoire destination dans lequel doit être copié les fichiers ou les sous répertoires

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ah, un répertoire. Intéressant. Et donc tu fais new FileOutputStream() sur un répertoire, c'est bien cela ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    bonne remarque, je vais tâché de modifier ça

Discussions similaires

  1. Copie récursive et sous répertoires
    Par viewtifulced dans le forum Administration système
    Réponses: 2
    Dernier message: 16/02/2009, 15h54
  2. copie récursive répertoire
    Par hisy dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2007, 08h40
  3. Copie récursive d'un répertoire
    Par narmataru dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/09/2006, 18h06
  4. Copie de cellule des fichiers d'un répertoire
    Par Fidji78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/06/2006, 18h36
  5. Copie récursive de répertoire
    Par Furius dans le forum Langage
    Réponses: 21
    Dernier message: 11/01/2006, 19h25

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