java语言现在在D盘中放有一个名为MultiFile的文件夹,请编写程序将此文件夹下的所有文件夹和文件复制到E盘的MultiFileCopy文件夹下。 注意:要求MultiFile文件夹下至少含有三层以上的文件夹,每层文件夹中都有文件。
时间: 2023-07-30 07:10:40 浏览: 105
好的,您可以使用Java中的File类和递归函数来实现这个功能。以下是一个示例代码:
```java
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class FileCopy {
public static void main(String[] args) throws IOException {
File sourceDir = new File("D:\\MultiFile");
File destDir = new File("E:\\MultiFileCopy");
copyDirectory(sourceDir, destDir);
System.out.println("Done!");
}
private static void copyDirectory(File sourceDir, File destDir) throws IOException {
if (!destDir.exists()) {
destDir.mkdirs();
}
for (File file : sourceDir.listFiles()) {
String sourcePath = file.getAbsolutePath();
String destPath = Paths.get(destDir.getAbsolutePath(), file.getName()).toString();
if (file.isDirectory()) {
copyDirectory(file, new File(destPath));
} else {
Files.copy(Paths.get(sourcePath), Paths.get(destPath));
}
}
}
}
```
这个程序中,我们首先定义了源目录和目标目录。然后通过递归函数 `copyDirectory` 来复制整个文件夹。在递归函数中,我们遍历源目录下的每个文件和文件夹,如果是文件夹,则递归调用 `copyDirectory` 函数,如果是文件,则使用Java 7中的Files.copy方法将其复制到目标目录下。最后,我们输出 "Done!" 表示复制完成。
阅读全文