Java中的简单文件(行计数)函数的API

jay*_*100 4 java apache large-files line-count

嗨:鉴于任意文件(java),我想计算行数.

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

但是,对于大文件,读取整个文件是荒谬的(即只计算行数).

一个自行开发的选项:Create BufferedReader或使用FileUtils.lineIterator函数,并计算行数.

但是,我假设可能有一个(低内存),最新的API用于执行简单的大型文件操作,只需少量的锅炉板用于java ---任何这样的库或功能都存在于任何地方的任何一个Google,Apache等......开源Java实用程序库?

Lou*_*man 6

番石榴:

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

它不会将整个文件保存在内存或任何内容中.

  • 计算文件中的行可能不是一个常见的用例来从Guava获得自己的支持,我担心 - 不是在我们可以支持更多这样的一般事情的时候. (3认同)