使用Java复制文件夹d:/java下面所有文件和子文件夹内容到d:/java2。 提示:涉及单个文件复制、 目录的创建、递归的使用
时间: 2024-04-17 12:25:46 浏览: 127
您可以使用以下代码来复制文件夹及其内容:
```java
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
public class FileCopyUtil {
public static void main(String[] args) {
String sourcePath = "d:/java";
String destinationPath = "d:/java2";
try {
copyFolder(new File(sourcePath), new File(destinationPath));
System.out.println("文件夹复制完成。");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void copyFolder(File sourceFolder, File destinationFolder) throws IOException {
// 创建目标文件夹
if (!destinationFolder.exists()) {
destinationFolder.mkdirs();
System.out.println("文件夹已创建:" + destinationFolder);
}
// 获取源文件夹下所有的文件和子文件夹
File[] files = sourceFolder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
// 递归复制子文件夹
copyFolder(file, new File(destinationFolder, file.getName()));
} else {
// 复制文件
Files.copy(file.toPath(), new File(destinationFolder, file.getName()).toPath(),
StandardCopyOption.REPLACE_EXISTING);
System.out.println("文件已复制:" + file);
}
}
}
}
}
```
这段代码会将`d:/java`文件夹下的所有文件和子文件夹内容复制到`d:/java2`文件夹中。请确保源文件夹中的文件和目标文件夹没有重名的文件,以避免覆盖。
阅读全文