1

我在尝试让扫描仪或缓冲阅读器尝试检测空行时遇到了很多麻烦。例如,如果我有一个文件包含:

there
cat
dog
(BLANK LINE)

如果我这样做:

while( scan.hasNextLine() )
{
String line = scan.nextLine();
...
...
}

扫描仪不拾取空白行。我也尝试使用缓冲阅读器,但遇到了这个问题。扫描仪是否有某种方法可以在找到这样的空行时返回一个“”?干杯

4

1 回答 1

3

您输入的行数与\n字符数一样多。给定输入

"there\ncat\ndog\n"

下一行将被正确划分为

"there\n"
"cat\n"
"dog\n"

(换句话说,没有第四个空行,因为它不是由 a 终止的\n。)

换句话说,在"dog\n"读取之后,扫描仪(或缓冲读取器)已经到达 EOF,甚至没有空行可以返回。(请注意,当返回行时,换行符会被删除。)

所以,由于这是预期的行为,我不知道最简单的解决方法是什么。我怀疑解决此问题的最佳方法是将 a 附加\n到输入,以便循环运行额外的迭代。

于 2012-04-22T08:25:32.810 回答