Как рекурсивно скопировать весь каталог, включая родительскую папку в Java
В настоящее время я копирую папки из одного места в другое. Он работает нормально, но он не копирует исходную папку, в которой находятся все остальные файлы и папки. Это код, который я использую:
public static void copyFolder(File src, File dest) throws IOException {
if (src.isDirectory()) {
//if directory not exists, create it
if (!dest.exists()) {
dest.mkdir();
}
//list all the directory contents
String files[] = src.list();
for (String file : files) {
//construct the src and dest file structure
File srcFile = new File(src, file);
File destFile = new File(dest+"\\"+src.getName(), file);
//recursive copy
copyFolder(srcFile,destFile);
}
} else {
//if file, then copy it
//Use bytes stream to support all file types
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();
System.out.println("File copied from " + src + " to " + dest);
}
}
Так у меня есть папка srcC:\test\mytest\..all folders..
Я хочу скопировать это вC:\test\myfiles
Но вместо того, чтобы получитьC:\test\myfiles\mytest\..all folders..
я собираюсьC:\test\myfiles\..all folders..