Как рекурсивно скопировать весь каталог, включая родительскую папку в 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..

Ответы на вопрос(8)

Ваш ответ на вопрос