【Java】复制多级文件夹
package LearnJava15;
import java.io.*;
public class CopyFoldersDemo {
public static void main(String[] args) throws IOException {
// 数据源
File srcFile=new File("D:\\MyProject\\Java\\Demo2\\test\\test2");
// 目的源
File destFile=new File("D:\\MyProject\\Java\\Demo2\\myCharSTream");
copyFolder(srcFile,destFile);
}
//复制文件夹
private static void copyFolder(File srcFile, File destFile) throws IOException {
if (srcFile.isDirectory()){
String srcFileName = srcFile.getName();
File newFolder = new File(destFile,srcFileName);
// 判断是否存在
if (!newFolder.exists()){
newFolder.mkdir();
File[] filesArray = srcFile.listFiles();
for (File file:filesArray){
copyFile(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);
}
bos.close();
bis.close();
}
}
作者:木子欢儿
出处:https://www.cnblogs.com/HGNET/p/16196106.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
部分文章来源于网络,如疏漏未标注原文地址或侵权,请联系进行删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2020-04-26 【Python】政府工作报告词云
2020-04-26 【Python】WordCloud库的使用
2020-04-26 【Python】二维数据格式化
2020-04-26 【Python】一维数据格式化