どうやって BufferedReader
テキストファイルの行末を識別しますか?
また、私はこのコードを持っている場合:
BufferedReader buff= new BufferedReader(file);
String line;
line=buff.readLine();
line=buff.readLine();
ありますか line
2行目の値はありますか?
回答:
回答№1は0はい、ファイルが2行である限り。それはあなたの呼び出しとして行ごとに読み続けます readLine
行がなくなるまで。その後、戻ります null
.
次のものを探すことで、行を終了として識別します。
改行( "n")、キャリッジリターン( "r")、またはキャリッジのいずれか 改行してすぐに戻ります。 - JavaDoc
このようにして、ほぼすべてのオペレーティングシステムが改行、LF、CR、またはCRLFをマークする方法を説明します。見る: https://en.wikipedia.org/wiki/Newline.
回答№2の場合は0
さて、ドキュメントはその方法についてかなりはっきりと読みます 読み込まれた行 実装されています。
1行のテキストを読みます。行はいずれかで終了していると見なされます。 改行( "n")、キャリッジリターン( "r")、またはキャリッジリターン すぐに改行が続きます。
それでもなお、詳細に追加すると、クラスファイルでの実際の実装は次のようになります。
public String readLine() throws IOException {
return readLine(false);
}
もちろん、過負荷のためのもの。
/*...
@param ignoreLF If true, the next "n" will be skipped..
*/
String readLine(boolean ignoreLF) throws IOException {
だからあなたが使用するものはどれもスキップしてはいけません n
確かにそしてそれ故に n番目 使い方 line=buff.readLine();
を格納する n番目 の file
.
注意 - メソッドの定義が不完全で、読者に少しの研究作業を任せる。