2014-02-12 90 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[]

相关问题