java复制文件夹内容后删除原来的文件夹
时间: 2024-02-03 09:12:34 浏览: 82
可以使用Java的File类和递归函数来实现该功能。以下是一个示例代码:
```java
import java.io.File;
public class FileCopyAndDelete {
public static void main(String[] args) {
String sourceFolder = "C:\\SourceFolder"; // 源文件夹路径
String destinationFolder = "C:\\DestinationFolder"; // 目标文件夹路径
// 将源文件夹复制到目标文件夹
copyFolder(new File(sourceFolder), new File(destinationFolder));
// 删除源文件夹
deleteFolder(new File(sourceFolder));
}
// 复制文件夹
public static void copyFolder(File sourceFolder, File destinationFolder) {
if (sourceFolder.isDirectory()) {
// 如果目标文件夹不存在,则创建
if (!destinationFolder.exists()) {
destinationFolder.mkdir();
}
String[] files = sourceFolder.list();
for (String file : files) {
File srcFile = new File(sourceFolder, file);
File destFile = new File(destinationFolder, file);
// 递归复制子文件夹
copyFolder(srcFile, destFile);
}
} else {
// 复制文件
try {
java.nio.file.Files.copy(sourceFolder.toPath(), destinationFolder.toPath());
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 删除文件夹
public static void deleteFolder(File folder) {
if (folder.isDirectory()) {
String[] files = folder.list();
for (String file : files) {
File fileToDelete = new File(folder, file);
deleteFolder(fileToDelete);
}
}
folder.delete();
}
}
```
该代码会将源文件夹复制到目标文件夹,并且在复制完成后删除源文件夹。请注意,删除操作是不可逆的,因此请确保在执行代码之前备份您的数据。
阅读全文