繁体   English   中英

Java扫描程序计数文件中的行

[英]Java scanner count lines in file

我有一个问题,我试图创建一个应用程序来计算文件中符号的所有出现...扫描方法“nextLine”停在一个空行...是否有办法让它继续前进,直到它到达真正的文件结束?

简而言之:我可以在文件中获得REAL行数吗?

先感谢您!

你可以使用一个循环:

int count = 0;
while (scanner.hasNextLine()) {
    count++;
    scanner.nextLine();
}

count将包含行数。

所以我一直在研究这个问题。 我最近一直在反对它,而我正在为我正在上课的Java编写一个行计数程序。

扫描器类执行此操作的原因是因为scanner.next()和scanner.nextLine()返回标记,它们由分隔符分隔。 默认情况下,分隔符是空格 所以发生的事情是,当你调用scanner.hasNext()或scanner.hasNextLine()时,它会查看下一个分隔符后是否有令牌。 当文件以换行符结尾时,之后没有令牌,因此hasNext()和hasNextLine()返回false。

据我所知,要做你想做的事,你需要计算分隔符的数量,这在Martinus的答案中得到了更好的处理。 另见AFinkelstein的回答

请参阅Scanner.hasNextLine() ,您应该在循环条件中使用它。 如果它能更好地满足您的需求,还有一个Scanner.hasNext()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM