Java IO 的性能可以使用標准的緩沖類提高
如果要求從磁盤上讀取數據
在Java IO中
try{
Writer writer = new FileWriter( new File(
for(int i=
writer.write(""+i);
writer.write("\n");
}
writer.close( );
}catch(IOException ioe){}
上述代碼中,FileWriter一次輸出一個數字,在Apple Powerbook 上測量消耗的時間,第一次是180毫秒,以後是90毫秒,這個不同可能是JVM的准實時(just-in-time)編譯引起的。Tw.wINgwIT.CoM
通過BufferedWriter來包裝FileWriter實現緩沖。
try{
Writer writer = new BufferedWriter(new FileWriter( new File( "file.txt" )) );
for(int i=0; i<1000; i++) {
writer.write(""+i);
writer.write("\n");
}
writer.close( );
}catch(IOException ioe){}
現在BufferedWriter會決定以什麼頻率向FileWriter發送寫調用。可以使用flush( )方法強制發出寫調用。增加了BufferedWriter後,代碼的運行時間是63毫秒。如果是有很多小量的輸出,那麼BufferedWriter在缺省條件下的性能提升是非常顯著的。
除了BufferedWriter外,BufferedOutputStream也具有相同的品質,對於輸入就是BufferedReader和BufferedInputStream。
需要注意的是緩沖類不光是在文件系統上起作用,任何的Reader/Writer都能進行緩沖以提高字符輸入/輸出的速度,同樣任何OutputStream/InputStream都能進行緩沖以提高字節IO的速度。
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19483.html