Copier un répertoire en Java
Dans ce tutoriel nous allons découvrir comment copier un répertoire, ses sous-répertoires et les fichiers, dans un répertoire de destination en Java.
Exemple:
Le code suivant copiez le dossier « c:\\old » et ses sous-répertoires et fichiers dans un autre dossier « c:\\new ».
import java.io.*;
public class Main
{
public static void copy(File src, File dest) throws IOException{
if(src.isDirectory()){
//si le répertoire n'existe pas, créez-le
if(!dest.exists()){
dest.mkdir();
System.out.println("Dossier "+ src + " > " + dest);
}
//lister le contenu du répertoire
String files[] = src.list();
for (String f : files) {
//construire la structure des fichiers src et dest
File srcF = new File(src, f);
File destF = new File(dest, f);
//copie récursive
copy(srcF, destF);
}
}else{
//si src est un fichier, copiez-le.
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
//copier le contenu du fichier
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.close();
System.out.println("Fichier " + src + " > " + dest);
}
}
public static void main(String[] args)
{
File src = new File("c:\\old");
File dest = new File("c:\\new");
try{
copy(src, dest);
}catch(IOException e){
e.printStackTrace();
}
}
}
Sortie:


