复制大文件

使用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.csdn.net/xukongjing1/article/details/79309622

猜你喜欢

转载自blog.csdn.net/u011159607/article/details/84665845