私のプログラムは、テキストの最後の行の最後にファイルの終わり(EOF)を見つけたら何かをしたい。そのテキストの最後の行の後に空行にEOFがあります。残念ながら、BufferedReaderは両方のケースを等しいとみなしているようです。BufferedReader readLine()問題:ファイルの終わりと空の戻り行を検出する
例えば、これはファイルの最後にラインを読むために私のコードです:
FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while((line = br.readLine()) != null) {
if (line.equals("")) {
System.out.println("Found an empty line at end of file.");
}
}
file.txtをこれが含まれていた場合、それは印刷ではないだろう:
line of text 1
another line 2//cursor
この印刷されないでしょう、次のいずれか
line of text 1
another line 2
//cursor
しかし、この意志:
line of text 1
another line 2
//cursor
最初の2つのケースを区別するためにどのような読者を使用できますか?
実際には、行が空で何も含まれていない場合でも、行はnullを返します。 –