BufferedReader似乎缺少尾随换行符?

时间:2014-03-07 14:03:22

标签: java io

我有一个字符串:b\na\n a \n a\n\ta\n应该有6行,但下面的代码会跳过最后一个空行。

br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
    System.err.println("b4 line: " + line);
}

使用扫描仪似乎有效,但是bufferedReader有什么问题?

while ((line = br.readLine()) != null) {
    System.err.println("b4 line: " + line);
}

3 个答案:

答案 0 :(得分:0)

有5行,因为你有5次\n而且在最后\n之后没有任何内容。

所以没有错。

答案 1 :(得分:0)

我算五行。你的字符串以\ n结尾,这样就是最后一行。最后一行后面没有数据。

答案 2 :(得分:0)

readLine()查找<line_content>\n并返回<line_content>。如果你在你的例子中计算这个外观,你会发现,它应该只返回五行。