你好:给定一个任意文件(java),我想计算行数。
这很简单,例如,使用 Apache 的 FileUtils.readLines(...) 方法...
然而,对于大文件,就地读取整个文件是可笑的(即仅计算行数)。
一种自行开发的选项:创建 BufferedReader 或使用 FileUtils.lineIterator 函数,然后计算行数。
然而,我假设可能有一个(低内存)最新的 API,用于使用最少量的 java 样板进行简单的大型文件操作 --- 任何此类库或功能是否存在于任何 Google、 Apache 等...开源 Java 实用程序库?
With Guava:
int nLines = Files.readLines(file, charset, new LineProcessor<Integer>() {
int count = 0;
Integer getResult() {
return count;
}
boolean processLine(String line) {
count++;
return true;
}
});
它不会将整个文件保存在内存或任何东西中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)