web-dev-qa-db-ja.com

java)を使用してテキストファイルの最後の行を読み取る方法

ログを作成していて、log.txtファイルの最後の行を読みたいのですが、最後の行が読み取られるとBufferedReaderを停止させるのに問題があります。

これが私のコードです:

try {
    String sCurrentLine;

    br = new BufferedReader(new FileReader("C:\\testing.txt"));

    while ((sCurrentLine = br.readLine()) != null) {
        System.out.println(sCurrentLine);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (br != null)br.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
6
Subayan

これが良いです 解決策

コードでは、lastLineという補助変数を作成し、次のように常に現在の行に再初期化することができます。

    String lastLine = "";

    while ((sCurrentLine = br.readLine()) != null) 
    {
        System.out.println(sCurrentLine);
        lastLine = sCurrentLine;
    }
17
Steve P.

このスニペットはあなたのために働くはずです:

    BufferedReader input = new BufferedReader(new FileReader(fileName));
    String last, line;

    while ((line = input.readLine()) != null) { 
        last = line;
    }
    //do something with last!
10
Austin Henley