您好:给定一个任意文件 (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/