java如何复制整个目录呢?

重生 Java经验 发布时间:2023-12-26 22:08:33 阅读数:13973 1
下文笔者讲述java代码复制整个目录的方法及示例分享,如下所示

复制整个目录的实现思路

  采用递归遍历整个目录 
    当遇到文件时,则采用流的方式复制文件
例:复制整个目录的示例
//整个目录复制的工具类
import java.io.*;
 
public class CopyDirectory {
 
    public static void main(String[] args) {
 
        // 源目录路径
        File srcDir = new File("srcDir");
 
        // 目标目录路径
        File destDir = new File("destDir");
 
        // 调用复制目录方法
        copyDirectory(srcDir, destDir);
 
        System.out.println("复制完成!");
    }
 
    /**
     * 功能:复制目录
     * @param srcDir 源目录
     * @param destDir 目标目录
     */
    public static void copyDirectory(File srcDir, File destDir) {
 
        // 如果源目录不存在,直接返回
        if (!srcDir.exists()) {
            System.out.println("源目录不存在!");
            return;
        }
 
        // 如果目标目录不存在,创建目标目录
        if (!destDir.exists()) {
            destDir.mkdirs();
        }
 
        // 获取源目录下所有文件和目录
        File[] files = srcDir.listFiles();
 
        // 遍历所有文件和目录
        for (File file : files) {
            if (file.isFile()) {
                // 如果是文件,复制文件到目标目录
                copyFile(file, new File(destDir, file.getName()));
            } else if (file.isDirectory()) {
                // 如果是目录,递归复制目录
                copyDirectory(file, new File(destDir, file.getName()));
            }
        }
    }
 
    /**
     * 功能:复制文件
     * @param srcFile 源文件
     * @param destFile 目标文件
     */
    public static void copyFile(File srcFile, File destFile) {
 
        try (InputStream in = new FileInputStream(srcFile);
             OutputStream out = new FileOutputStream(destFile)) {
 
            int len;
            byte[] buffer = new byte[1024];
 
            // 循环读取并复制文件内容
            while ((len = in.read(buffer)) > 0) {
                out.write(buffer, 0, len);
            }
 
        } catch (IOException e) {
            System.out.println("复制文件失败!");
            e.printStackTrace();
        }
    }
}
版权声明

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

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

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

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

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者