Comment récursive de copier tout le répertoire, y compris le dossier parent en Java

Je suis actuellement en train de composer des dossiers d'un endroit à l'autre. Il travaille très bien, mais il n'est pas de la copie de l'original du dossier que tout le reste des fichiers et des dossiers sont en cours ainsi. C'est le code, je suis en utilisant:

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);
  }
}

Donc, j'ai le dossier src C:\test\mytest\..all folders..

Je veux le copier sur C:\test\myfiles

Mais au lieu d'obtenir C:\test\myfiles\mytest\..all folders.. im obtenir C:\test\myfiles\..all folders..

InformationsquelleAutor newSpringer | 2012-07-25