Javaでプレーンテキストファイルの最後の行を取得したいときに混乱しました。これどうやってするの?スキャナを使用しない場合の最良の方法は?それを行うにはJavaでテキストファイルの最後の行を読む最良の方法はどれですか?
おかげ
Javaでプレーンテキストファイルの最後の行を取得したいときに混乱しました。これどうやってするの?スキャナを使用しない場合の最良の方法は?それを行うにはJavaでテキストファイルの最後の行を読む最良の方法はどれですか?
おかげ
最も簡単な方法は、ファイル内の行を反復し、あなたが最後に到達したときに停止することです。例:
// I assume this is disposed properly etc
private static String getLastLine(BufferedReader reader) throws IOException {
String line = null;
String nextLine;
while ((nextLine = reader.readLine()) != null) {
line = nextLine;
}
return line;
}
これは空のリーダーに対してnullを返します。
というファイルを実際に大きなファイルに読み込む必要があることが分かっていない限り、それは私がやることです。最後の行にまっすぐにスキップしてこれを行うと、がハードになります。本当に難しいのは、特にUTF-8などの可変幅のエンコーディングが必要な場合です。
ありがとうございました。 –
非常に多くのものと同様、改善が必要な定量化可能な理由を特定するまで、最も簡単です。 – corsiKa
RandomAccessFileを使用することができます 1.ファイルの最後に移動します(新しいファイル( "your_file")。length()) 2.ランダムアクセスファイルのcharを読み取り、ループ内でseekメソッドを使用します。 3. "\ n"(またはシステム内にあるもの)を見たときに停止します。 4.ファイルの最後まで停止した場所からファイルを再読み込みします。 あなたがこれまでに読んだことをどういうわけか暗記するならば、これはオプションです。
ただgoogle for RandomAccessFileの例です。
希望これは
が重複する可能性を助けhttp://stackoverflow.com/questions/686231/java-quickly-read-the-last-line-of-a-text-file –