【Java】javaIO之带缓冲流的字节流文件读写

下面用一个例子演示:

package com.test.RWByteStream;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

//带缓冲流的字节流文件读写,与不加缓冲流的读写对比,大大减少了读写时间。下面的例子是复制ads.mp4
public class ReadByBufferByteStream {

	public static void main(String[] args) {
		try {
			FileInputStream fis=new FileInputStream("ads.mp4");
			BufferedInputStream bis=new BufferedInputStream(fis);  //(fis,10000)10000为缓冲区大小,大小要在不断试验中调整大小,不是越大越好
			FileOutputStream fos=new FileOutputStream("new.mp4");
			BufferedOutputStream bos=new BufferedOutputStream(fos);
			byte input[]=new byte[100];                                         //每次读取100字节,大小要在不断试验中调整大小,不是越大越好
			int count=0;                                                                  //记录读取次数
			while(bis.read(input)!=-1){
				bos.write(input);
				count++;
			}
			bis.close();                                                                    //后打开的要先关闭
			fis.close();
			bos.close();
			fos.close();
			System.out.println("读取了"+count+"次");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}


你可能感兴趣的:(Java)