复制大文件

使用byte字节数组做临时的缓存区复制文件,效率较高。

import java.io.*;
public class ReadFile{
	public static void main(String[] args){
		try{
			File inFile=new File("F:/Program Files/Java/jdk1.7.0_55/src.zip");
			File outFile=new File("C:/work/src.zip");
			FileInputStream fis=new FileInputStream(inFile);
			FileOutputStream fos=new FileOutputStream(outFile);
			//建议使用2的n次方,这样计算机的处理效率相对会高一些。
			//这里用byte数组纯粹的申请内存
			byte[] tmp=new byte[8192];
			int length=fis.available()/8192;
			for(int i=0;i<length;i++){
				fis.read(tmp);
				fos.write(tmp);
			}
			
			//处理最后剩下的内容
			int size=fis.read(tmp);
			//第一个参数是byte数组形成的临时缓冲区
			//第二个参数是从数组的哪里开始向文件写
			//第三个参数是写多少
			fos.write(tmp,0,size);
		
			
		}catch(Exception e){}
	}
	
}

可以看这篇文章,挺详细的https://blog.youkuaiyun.com/xukongjing1/article/details/79309622

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值