検索

ホームページ  >  に質問  >  本文

java - 关于BufferedReader中readLine读取最后一行的问题

public static void main(String[] args) throws Exception{

    BufferedReader in = new BufferedReader(new FileReader("Test3.txt"));
    String line =null;
    while((line=in.readLine())!=null)
    {
        System.out.println(line);
    }
}

想问一下通过readLine方法读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行,但是在最后一行的时候并没有换行或者回车的字符啊,此时为什么会读取到最后一行呢?按理说最后一行是不应该被读取到的。求解!

巴扎黑巴扎黑2803日前2058

全員に返信(2)返信します

  • 天蓬老师

    天蓬老师2017-04-17 15:01:34

    BufferedReader には、次のように、ストリームの終わりに達したかどうかを判断するために使用されるプライベート メソッドがあります。

    • @バッファに読み取られた文字の数を返します。ソース ストリームの終わりに達した場合は -1 を返します。

    リーリー

    readLine() には次のような段落があります:

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 15:01:34

    これについては、BufferedReader のソース コードを参照してください。実際、別の状況があります。つまり、ファイルの終わり (つまり最後の行) が読み取られた場合、次のような場合でもこの行が返されます。 nとrはありません。

    リーリー

    返事
    0
  • キャンセル返事