我有一个巨大的文本文件(207 MB,400万行),我需要逐行读取它.
每一行都有这种格式:
20227993821NAME AND SURNAME NINIC NN08
我使用(对于常规文件)Java库FileReader,BufferedReader如下所示:
FileReader dataFile = new FileReader(directory);
data = new BufferedReader(dataFile);
String s;
while((s = data.readLine()) != null){
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
没有问题,但是使用大文件需要花费太多时间来处理.
我想知道在这种情况下最好的做法是什么(另一个图书馆,不同的方法等),任何事情都会有所帮助.
该文件由政府机构定期发布,必须加载到我的软件中进行数据比较.
编辑:
这段代码:
BufferedReader data = new BufferedReader(new FileReader(file));
String s;
int count = 0;
while ((s = data.readLine()) != null) {
System.out.println (count + " - " + s);
count++;
}
data.close();
Run Code Online (Sandbox Code Playgroud)
在19分30秒内执行.我不知道为什么花这么长时间.
我有一个64位操作系统和一个i5处理器.