java - Java 中用于简单文件(行数)函数的 API

标签 java apache large-files line-count

您好:给定一个任意文件 (java),我想计算行数。

这很简单,例如,使用 Apache 的 FileUtils.readLines(...) 方法...

然而,对于大文件,就地读取整个文件是荒谬的(即只是为了计算行数)。

一个自行开发的选项:创建 BufferedReader 或使用 FileUtils.lineIterator 函数,然后计算行数。

但是,我假设可能有一个(低内存)最新的 API,用于执行简单的大文件操作,使用最少的 Java 样板文件 --- 是否存在任何此类库或功能Google、Apache 等任何开源 Java 实用程序库中的任何位置?

最佳答案

Guava :

int nLines = Files.readLines(file, charset, new LineProcessor<Integer>() {
  int count = 0;
  Integer getResult() {
    return count;
  }
  boolean processLine(String line) {
    count++;
    return true;
  }
});

它不会将整个文件保存在内存或其他任何东西中。

关于java - Java 中用于简单文件(行数)函数的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9691420/

相关文章:

mysql - 带有 Rails + Apache/Passenger 和 MySql 的 Linux Mint

apache - 如何在同一IP的不同域名上应用不同的SSL证书?

php - 使用 php 脚本导入 Mysql xlsx 文件 大文件(以 MB 为单位)

html - 通过 html 形式上传大文件(超过 2 GB)

algorithm - sed优化(基于较小数据集的大文件修改)

java - 为什么 getEntry(Object key) 没有暴露在 HashMap 上?

java - 通过 Maven 为 Node.js 项目运行 "npm install"+ 测试脚本

java - 简单的登录页面

Java反序列化,将字段更改为 transient

iOS 应用无法第二次访问安全服务器