2014-02-12 127 views
-1

讀取文本文件進行處理的最快方法是什麼? 從文件輸入到程序中的文件必須用ascii做一些文本處理。 哪個應該更快?使用BufferedReader或BufferedInputStream?讀取文本文件的最快方法

實施例:

in = new BufferedReader(new FileReader(inFileName)); 
char[] buffer = new char[8*1024]; 
while((len = in.read(buffer))>=0) { 
     //format text 
} 

OR 
in = new BufferedInputStream(new FileInputStream(inFileName)); 
byte[] buffer = new byte[8*1024]; 
while((len = in.read(buffer))>=0) { 
    String str = new String(bytes, "ISO-8859-1"); 
    char [] chars = str.toCharArray(); 
    //format text 
} 

我計時這段代碼,不能看到多大的差別。我想知道是否有人根據文件的大小有任何輸入。

+0

你的文件大小是多少? – noMAD

+1

所以......你爲什麼不用一個巨大的文件來計時呢? – paddy

+1

文件的大小是1 MB。 – user3096748

回答

0

對於1MB的文件,它幾乎沒有任何區別。這兩個版本都將在大約一秒鐘內執行。從GC和內存使用的角度來看,我更關心在第二版中創建額外的Stringchar[]

相關問題