Java实现 现在在D盘中放有一个名为MultiFile的文件夹,请编写程序将此文件夹下的所有文件夹和文件复制到E盘的MultiFileCopy文件夹下。 注意:要求MultiFile文件夹下至少含有三层以上的文件夹,每层文件夹中都有文件。
时间: 2023-07-29 13:09:07 浏览: 80
Java利用MultipartFile实现上传多份文件的代码
可以使用递归来实现这个功能,Java代码如下:
```java
import java.io.File;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
String sourceDir = "D:\\MultiFile";
String targetDir = "E:\\MultiFileCopy";
File sourceFile = new File(sourceDir);
File targetFile = new File(targetDir);
try {
copyFile(sourceFile, targetFile);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void copyFile(File sourceFile, File targetFile) throws IOException {
if (sourceFile.isDirectory()) { // 如果是目录,递归复制子文件夹和文件
if (!targetFile.exists()) {
targetFile.mkdir();
}
String[] files = sourceFile.list();
for (String fileName : files) {
File subSourceFile = new File(sourceFile, fileName);
File subTargetFile = new File(targetFile, fileName);
copyFile(subSourceFile, subTargetFile);
}
} else { // 如果是文件,直接复制
FileUtils.copyFile(sourceFile, targetFile);
}
}
}
```
上面的代码中,我们使用了 Apache Commons IO 的 FileUtils 工具类来实现文件复制功能。如果你没有使用过这个工具类,需要先在项目中引入相关的依赖。
阅读全文