Java复制多级目录
package demo17; import java.io.*; public class Demo01CopyFolders { public static void main(String[] args) throws IOException { // 创建数据源file对象,路径是e:\\mn File srcFile = new File("E:\\mn"); // 创建目的地file对象,路径是f:\\ File destFile = new File("F:\\"); //写方法实现文件夹的复制,参数为数据源File对象和目的地File对象 copyFolder(srcFile, destFile); } //复制文件夹 private static void copyFolder(File srcFile, File destFile) throws IOException{ if (srcFile.isDirectory()) { // 在目的地下创建和数据源File名称一样的目录 String srcFileName = srcFile.getName(); File newFolder = new File(destFile, srcFileName); if (!newFolder.exists()) { newFolder.mkdir(); } // 获取数据源File下所有文件或者目录的File数组 File[] fileArray = srcFile.listFiles(); //遍历该File数组,得到每一个File对象 for (File file : fileArray) { copyFolder(file,newFolder); } }else { // 说明是文件,直接复制,用字节流 File newFile = new File(destFile, srcFile.getName()); copyFile(srcFile,newFile); } } //字节缓冲流复制文件 private static void copyFile(File srcFile, File destFile) throws IOException{ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile)); byte[] bys = new byte[1024]; int len; while ((len = bis.read(bys)) != -1) { bos.write(bys,0,len); } bis.close(); bos.close(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix