我在下面編寫了這個函數來查找所有名爲'Construction Documents'的文件夾,我希望它將其所有內容複製到另一個目錄中。如何將單個文件夾及其內容複製到Java中的另一個文件夾中
private void findDirectory(File parentDirectory, String insertDir) {
if(foundFolder) {
return;
}
File[] files = parentDirectory.listFiles();
for (File file : files) {
if (file.isFile()) {
continue;
}
if (file.getName().equals("Construction Documents")) {
System.out.println(file.getAbsolutePath());
if(file.getParent().contains("Original") || file.getParent().contains("Revision") || file.getParent().contains("R0")){
new File(insertDir + file.getParent()).mkdir();
try {
// FileUtils.copyDirectory(new File(file), new File(insertDir + file.getParent().toString()));
Files.copy(file.toPath(), new File(insertDir + file.getParent().toString()).toPath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if(file.isDirectory()) {
findDirectory(file, insertDir);
}
}
}
insertDir是文件路徑ID的字符串要插入的文件夾中。我嘗試使用文件實用程序,但是這種過度複製整個目錄,包括實際施工文件夾之前,許多家長的文件。原生的java也沒有工作,只是導致錯誤。
簡而言之,我想複製一個文件夾,將其所有子文件夾和內容複製到另一個文件夾,但是沒有在目標端創建複製文件中的所有父文件。
我不認爲'continue'是做什麼的,你認爲它是。它實際上是到循環中的下一個'File',而不是繼續你的代碼。 –
這部分實際上工作正常。該部分只是在文件搜索合適的文件夾進行復制時忽略文件。 – ZKayyali