java如何复制整个目录呢?
下文笔者讲述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(); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。