有没有办法搜索和组织txt文件而无需将文档作为字符串或数组列表导入?
我正在寻找可以执行以下操作的代码:
在第1列中添加所有数字,以便第1列等于“2”(当文档看起来像时):
2 45 46 89 45
2 65 34 23 89
3 45 65 22 99
我使用的文件长度为20gb,因此制作一个阵列列表大约需要45分钟,然后返回它需要很长时间。试图做到这一点,以便我可以只通过一次文档并获得我需要的一切。
答案 0 :(得分:3)
逐行读取文件,在空格上拆分,如果符合条件则添加到总计。
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
long total = 0;
while ((line = reader.readLine()) != null) {
String[] tokens = line.split(" ");
if (tokens[0].equals("2"))
sum += Long.valueOf(tokens[1]);
}