1. 程式人生 > >使用帶緩沖區的輸入輸出流的速度會大幅提高

使用帶緩沖區的輸入輸出流的速度會大幅提高

時間 pre col void ble pan 提高 一個 效率

過濾流:

bufferedOutputStream

bufferedInputStream

用於給節點流增加一個緩沖的功能。

在VM的內部建立一個緩沖區,數據先寫入緩沖區,等到緩沖區的數據滿了之後再一次性寫出,效率很高。

使用帶緩沖區的輸入輸出流的速度會大幅提高,緩沖區越大,效率越高。(這是典型的犧牲空間換時間)

切記:使用帶緩沖區的流,如果數據數據輸入完畢,使用flush方法將緩沖區中的內容一次性寫入到外部數據源。用close()也可以達到相同的效果,因為每次close都會使用flush。一定要註意關閉外部的過濾流。

 1 package TomTexts;
 2 import java.io.*;
3 public class TomTexts_34 { 4 5 public static void main(String[] args) { 6 String file1,file2 ; 7 int ch = 0 ; 8 file1 = "readme.txt" ; 9 file2="readme.bak"; 10 try { 11 FileInputStream fis = new FileInputStream(file1);
12 FileOutputStream fos=new FileOutputStream(file2); 13 int size=fis.available(); 14 System.out.println("字節有效數:"+size); 15 while ((ch=fis.read())!=-1){ 16 System.out.write(ch); 17 fos.write(ch);
18 } 19 fis.close(); 20 fos.close(); 21 } 22 catch (IOException e){ 23 System.out.println(e.toString()); 24 } 25 } 26 27 }

使用帶緩沖區的輸入輸出流的速度會大幅提高