Files.lines(Paths.get(filePath)).count()
时间: 2024-10-19 14:05:19 浏览: 23
JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现
在Java 8及以上版本中,你可以使用`Files`类提供的`lines()`方法结合`count()`方法来更简洁地计算文件的行数。`Files.lines(Paths.get(filePath))`返回一个`Stream<String>`,表示文件的所有行,然后调用`count()`方法统计行的数量。这种方法的优点是利用了Java Stream API,可以处理大数据量,同时避免一次性加载整个文件到内存中,对内存管理更友好。
以下是使用这个方法的示例:
```java
import java.nio.file.Files;
import java.nio.file.Paths;
public class CountLinesWithStreams {
public static void main(String[] args) {
String filePath = "path_to_your_file.txt"; // 替换为你要读取的文件路径
long lineCount = Files.lines(Paths.get(filePath)).count();
if(lineCount > 0) {
System.out.println("文件共有 " + lineCount + " 行.");
} else {
System.out.println("文件为空或无法访问!");
}
}
}
```
在这个代码片段中,`Files.lines()`会按行读取文件内容,`count()`返回的是实际的行数,如果文件不存在或者权限不足,可能会返回0或者抛出异常。
阅读全文