如何使用java读取文本文件中的最后一行

Sub*_*yan 6 java io bufferedreader

我正在创建一个日志,我想读取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();
    }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_* P. 17

这是一个很好的解决方案.

在您的代码中,您可以创建一个名为的辅助变量,lastLine并不断将其重新初始化为当前行,如下所示:

    String lastLine = "";

    while ((sCurrentLine = br.readLine()) != null) 
    {
        System.out.println(sCurrentLine);
        lastLine = sCurrentLine;
    }
Run Code Online (Sandbox Code Playgroud)

  • 你的链接是递归的?OO (3认同)
  • 那真好笑。固定的。 (2认同)

Aus*_*ley 10

这段代码应该适合你:

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

    while ((line = input.readLine()) != null) { 
        last = line;
    }
    //do something with last!
Run Code Online (Sandbox Code Playgroud)