读取文本文件进行处理的最快方法是什么? 从文件输入程序必须在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 :(得分:0)
对于1MB的文件,它几乎没有任何区别。这两个版本都将在大约一秒钟内执行。从GC和内存使用的角度来看,我会更关注第二版中的额外String
和char[]
创建。