Java复制多级文件夹
package com.czie.iot1913.lps.IO.BufferStream.Better;
import java.io.*;
/**
* FileName: CopyFolderDemo
* Author: lps
* Date: 2022/3/27 13:55
* Sign:刘品水 Q:1944900433
*/
public class CopyFolderDemo {
public static void main(String[] args) throws IOException{
//创建数据源对象file对象 选择路径
File srcFile = new File("E:\\itcast");
//创建目的地对象file对象 选择路径
File destFile = new File("F:\\");
//调用方法
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();
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