java如何移动整个目录呢?

重生 Java经验 发布时间:2023-12-27 22:11:19 阅读数:11824 1
下文笔者讲述移动整个目录的方法分享,如下所示

移动整个目录的实现思路

递归目录可
    采用递归的方式遍历整个目录
例:移动整个目录
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() + " 目录已删除.");
   }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202312/17036863147600.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者