I am making a log and I want to read the last line of the log.txt file, but I'm having trouble getting the BufferedReader to stop once the last line is read.
Here's my code:
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();
}
}
解决方案
Here's a good solution.
In your code, you could just create an auxiliary variable called lastLine and constantly reinitialize it to the current line like so:
String lastLine = "";
while ((sCurrentLine = br.readLine()) != null)
{
System.out.println(sCurrentLine);
lastLine = sCurrentLine;
}
这篇博客探讨了在Java中如何正确读取文本文件的最后一条记录。作者分享了一个简单的方法,通过创建一个辅助变量`lastLine`来保存当前行,并在`BufferedReader`的循环中不断更新,直到读取到文件末尾。这个解决方案有助于避免在处理大文件时不必要的内存消耗。
1485

被折叠的 条评论
为什么被折叠?



