java如何移动整个目录呢?
下文笔者讲述移动整个目录的方法分享,如下所示
移动整个目录的实现思路
递归目录可
采用递归的方式遍历整个目录
例:移动整个目录
import java.io.File;
public class MoveDirectoryExample {
public static void main(String[] args) {
File sourceDir = new File("d:/test/dir");
File destinationDir = new File("C:/source/dir");
// 移动目录操作
moveDirectory(sourceDir, destinationDir);
}
/**
* 移动目录操作,包括其中的所有文件及子目录
*
* @param source 源目录
* @param destination 目标目录
*/
public static void moveDirectory(File source, File destination) {
// 如果目录不存在,则退出
if (!source.exists()) {
System.out.println(source.getAbsolutePath() + " 找不到目录.");
return;
}
// 如果不是目录,则退出
if (!source.isDirectory()) {
System.out.println(source.getAbsolutePath() + " 不是目录.");
return;
}
// 目标目录不存在则创建
if (!destination.exists()) {
destination.mkdir();
System.out.println(destination.getAbsolutePath() + " 目录已创建.");
}
// 获取该目录下所有的文件和子目录
String[] files = source.list();
for (String file : files) {
File sourceFile = new File(source, file);
File destinationFile = new File(destination, file);
// 如果源文件是目录则递归调用moveDirectory方法
if (sourceFile.isDirectory()) {
moveDirectory(sourceFile, destinationFile);
} else {
// 如果是文件则移动文件
sourceFile.renameTo(destinationFile);
System.out.println(sourceFile.getAbsolutePath() + " 移动到 " + destinationFile.getAbsolutePath());
}
}
// 移动完成后删除原目录
source.delete();
System.out.println(source.getAbsolutePath() + " 目录已删除.");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


