我刚刚读取了一个大小为167MB,行号为1884000的文件。我使用的方法是BufferedReader
得到一行读取的效果。
我注意到的是,随着当前行号的增加,读取文件的过程变得越来越慢(在这种情况下,我花了 3 小时 30 分钟完成它)。
我知道使用nio
可能会加快此过程,但我想在线读取文件。
我的代码如下;谁能给我一些建议?非常感谢!
String htmlContentPath = html.getAbsolutePath();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(htmlContentPath)));
String line = null;
int cnt = 0;
while((line = reader.readLine()) != null) {
this.proc(line);
if((cnt++ % 2000) == 0) {
logger.info("current line number:\t"+cnt);
}
}