2011-09-14 4 views

答えて

7

最も簡単な方法は、ファイル内の行を反復し、あなたが最後に到達したときに停止することです。例:

// 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などの可変幅のエンコーディングが必要な場合です。

+1

ありがとうございました。 –

+0

非常に多くのものと同様、改善が必要な定量化可能な理由を特定するまで、最も簡単です。 – corsiKa

3

RandomAccessFileを使用することができます 1.ファイルの最後に移動します(新しいファイル( "your_file")。length()) 2.ランダムアクセスファイルのcharを読み取り、ループ内でseekメソッドを使用します。 3. "\ n"(またはシステム内にあるもの)を見たときに停止します。 4.ファイルの最後まで停止した場所からファイルを再読み込みします。 あなたがこれまでに読んだことをどういうわけか暗記するならば、これはオプションです。

ただgoogle for RandomAccessFileの例です。

希望これは

関連する問題