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

来源:互联网 发布:kali linux能干什么 编辑:程序博客网 时间:2024/05/18 18:00

---------- 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.csdn.net/heima

0 0
原创粉丝点击