我在下面编写了这个函数来查找所有名为'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