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') 或回车后直接跟着换行,但是在最后一行的时候并没有换行或者回车的字符啊,此时为什么会读取到最后一行呢?按理说最后一行是不应该被读取到的。求解!
天蓬老师2017-04-17 15:01:34
BufferedReader には、次のように、ストリームの終わりに達したかどうかを判断するために使用されるプライベート メソッドがあります。
@バッファに読み取られた文字の数を返します。ソース ストリームの終わりに達した場合は -1 を返します。
readLine() には次のような段落があります:
リーリーPHP中文网2017-04-17 15:01:34
これについては、BufferedReader のソース コードを参照してください。実際、別の状況があります。つまり、ファイルの終わり (つまり最後の行) が読み取られた場合、次のような場合でもこの行が返されます。 nとrはありません。
リーリー