[英]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.