计算文本文件中的行数(java)

Ngh*_*hia 2 java lines count

下面是我如何计算文本文件中的行数.只是想知道有没有其他方法这样做?

while(inputFile.hasNext()) {    
    a++;
    inputFile.nextLine();
}
inputFile.close();
Run Code Online (Sandbox Code Playgroud)

我正在尝试将数据输入到数组中,我不想两次读取文本文件.

任何帮助/建议表示赞赏.

谢谢

Thu*_*tne 7

如果您使用的是Java 7或更高版本,则可以使用readAllLines方法直接读取List的所有行.这很容易

readAllLines

List<String> lines = Files.readAllLines(Paths.get(fileName), Charset.defaultCharset());
Run Code Online (Sandbox Code Playgroud)

然后列表的大小将返回文件中的行数

int noOfLines = lines.size();
Run Code Online (Sandbox Code Playgroud)

  • 对于临时读者,请注意,`readAllLines`并非旨在读取大文件。 (2认同)

sup*_*bob 5

如果您使用的是Java 8,则可以使用流:

long count = Files.lines(Paths.get(filename)).count();
Run Code Online (Sandbox Code Playgroud)

这将有很好的表现,真的很有表现力.

缺点(与Thusitha Thilina Dayaratn的答案相比)是你只有行数.如果您还想在列表中包含行,则可以执行(仍使用Java 8流):

// First, read the lines
List<String> lines = Files.lines(Paths.get(filename)).collect(Collectors.toList());
// Then get the line count
long count = lines.size();
Run Code Online (Sandbox Code Playgroud)