Java使用字节流复制一个文件夹

package yt051502;

import java.io.*;

public class CopyDemo {

	public static void main(String[] args) {
		try {
			CopyDirUtil.copyDir(new File("D:\\firefox"),new File("D:\\yunteng"));//将D:\\firefox复制到D:\\yunteng下
			System.out.println("success");//成功就打印success
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

class CopyDirUtil{
	public static void copyDir(File src,File dst) throws IOException{
		dst.mkdirs();//创建目标文件夹
		if(src!=null){
			File [] files=src.listFiles();//遍历源文件夹中所有的文件或者目录
			if(files!=null){
				for(File  f:files){
					if(f.isFile()){
						//复制文件
						FileInputStream fis=new FileInputStream(f);
						FileOutputStream fos=new FileOutputStream(dst.getAbsolutePath()+"\\"+f.getName());
						byte [] buff =new byte[1024*1024];//自定义一个字符缓冲区
						int len=0;//保存的是读到的字节个数
						while((len=fis.read(buff))!=-1){
							fos.write(buff, 0, len);
						}
						fis.close();
						fos.close();
						
					}else{
						copyDir(f,new File(dst.getAbsolutePath()+"\\"+f.getName()));//关键步骤,递归调用
						
					}
				}
				
					
				
			}
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值