public class 复制多级文件夹 {
public static void main(String[] args) throws IOException {
File srcFolder = new File("E:\\xuanxuanaiJava");
File targetFolder = new File("C:\\Users\\46188\\Desktop\\xuanxuanaiJava");
if (!targetFolder.exists()) {
targetFolder.mkdirs();
}
copyFolder(srcFolder, targetFolder);
}
private static void copyFolder(File srcFolder, File targetFolder) throws IOException {
File[] files = srcFolder.listFiles();
for (File f : files) {
if (f.isFile()) {
copyFiles(f, targetFolder);
} else {
File ff = new File(targetFolder.getAbsolutePath(), f.getName());
ff.mkdirs();
copyFolder(f,ff);
}
}
}
private static void copyFiles(File f, File targetFolder) throws IOException {
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new FileOutputStream(new File(targetFolder, f.getName()));
byte[] bytes = new byte[1024];
int len = 0;
while ((len = in.read(bytes)) != -1) {
out.write(bytes, 0, len);
out.flush();
}
in.close();
out.close();
}
}