java - 组织 TXT 文件

标签 java

有没有一种方法可以搜索和组织 txt 文件,而无需将文档作为字符串或数组列表导入?

我正在寻找可以执行以下操作的代码:

当第 1 列等于“2”时(文档如下所示),将第 2 列中的所有数字相加:

2    45    46    89    45
2    65    34    23    89
3    45    65    22    99

我使用的文件长 20GB,因此制作一个数组列表一次大约需要 45 分钟,然后返回它也需要很长时间。努力让我只需浏览一次文档即可获得我需要的一切。

最佳答案

逐行读取文件,按空格分割,如果满足条件则添加到总数。

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]);
}

关于java - 组织 TXT 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065901/

相关文章:

Java:在子类中使用父类的静态方法

java - 如何让JSP页面扩展抽象的HttpServlet

java - 使用 RMI 将 Java Vector 从服务器返回到客户端

java - 我的 Java 方法不处理错误。它指出了错误,但下次调用该方法时它不再正常工作

java - 为什么Tomcat服务器位置属性在Eclipse中是灰色的

java - 如何在 spring 事务之外执行 JPA 代码

Java,将值传递给实现 Callable 的类的构造函数

java - 创建播放器(不播放文件)

java - 以 & 作为分隔符的正则表达式

java - 对 SQLiteDatabase 使用单例设计模式