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: