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
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
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
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
Partager