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() + " 目录已删除."); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。