黑马程序员-Java文件复制代码

本文提供了一个Java程序示例,展示如何将一个文件夹及其包含的所有子文件夹和文件从一个位置复制到另一个位置。该程序使用了递归方法遍历源文件夹,并复制每个文件和文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------- android培训java培训、java学习型技术博客、期待与您交流! ------------


package jzl.heima;
import java.io.*;


//将C盘指定的一个文件夹(包含文件夹内的所有文件夹和所有文件,多层嵌套)复制到D盘中。
public class HJ1
{
public static void main(String[] args) throws Exception
{
String str1= "D:\\QQ2012Beta2";//开始文件路径
String str2= "E:\\QQ2012Beta2";//目的文件路径
Ergodic(str1,str2);
}


private static void Ergodic(String str,String str11) throws Exception
{
File f1 = new File(str);//接受字符串,转换。
File f11 = new File(str11);
if(f1.isDirectory())//判断是否是文件夹
{ f11.mkdir(); //创建文件夹
String [] str1 = f1.list();//获取当前文件夹内所有文件列表
for(String str2 : str1)
{
File f2 = new File(str+"\\"+str2);
Ergodic(f2.toString(),str11+"\\"+str2); //递归

}
}else
{
Duplicate(str,str11);//调用赋值方法,复制非文件夹的文佳
}
}


private static void Duplicate(String str1,String str2) throws Exception
{
BufferedInputStream buis = new BufferedInputStream(new FileInputStream(str1));
//定义要复制文件源的路径和流。
BufferedOutputStream buos =new BufferedOutputStream(new FileOutputStream(str2));
//定义接受文件的路径和流。
byte[] buf = new byte[1024*1024];//定义接受的字节数组。
int len=0;
while((len=buis.read(buf))!=-1)//读取文件数据
{
buos.write(buf,0,len);//写入
}
buis.close();//关闭流
buos.close();
}
}

 




----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.youkuaiyun.com/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值