1. 程式人生 > >Java 使用帶緩沖的字節流讀寫、拷貝數據

Java 使用帶緩沖的字節流讀寫、拷貝數據

exceptio fileinput edi pre 拷貝數據 args input class buffer

使用帶緩沖的字節流可以提高讀寫速度。

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

public class ReadByBufferedByteStream {

	public static void main(String[] args) {
		try {
			
			FileInputStream fis=new FileInputStream("movie.mp4");
			BufferedInputStream bis=new BufferedInputStream(fis,5000000);
			FileOutputStream fos=new FileOutputStream("movie_copy.mp4");
			BufferedOutputStream bos=new BufferedOutputStream(fos,5000000);
			
			byte input[]=new byte[1000000];
			int count=0;
			long before=System.currentTimeMillis();
			while(bis.read(input)!=-1) {
				count++;
				bos.write(input);
			}
			bos.close();
			fos.close();
			bis.close();
			fis.close();
			
			System.out.println("總共用時"+(System.currentTimeMillis()-before)+"毫秒");
			System.out.println("讀取了"+count+"次");
			
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

輸出:

總共用時138毫秒
讀取了42次

Java 使用帶緩沖的字節流讀寫、拷貝數據