从最后一行读取文件

时间:2012-07-08 17:21:35

标签: java file random-access

我想使用RandomAccessFile从最后一行读取一个文件。这是可能的还是我必须使用另一个班级?

此文件旁边会更改,因此最后一行不会永久保留。在阅读另一个,java程序写在上面。我的问题是:程序会在同一时间看到另一个java程序在文件上写,更改?

修改

假设我有一台服务器在运行期间将错误写入错误日志文件中。另一个程序读取每一行。这应该是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

是的,可以使用RandomAccessFile

自下而上读取文件

至于问题的其他部分:

  

此文件旁边会更改,因此最后一行不会   永远保持最后。在阅读另一个java程序时写上   我的问题是:程序会在同一时间看到另一个java   程序写在文件上,有变化吗?

我建议你SSCCE展示你想要完成的事情和问题

编辑:

正如Jon Skeets的评论所示,我找到了他回答的类似问题的链接:Quickly read the last line of a text file?

编辑2:

我想我得到了你的第二个问题,我不确定是否可能,因为单个文件不能同时被2个不同的流访问,只会在尝试打开文件时抛出错误。但是,Ypu可以监视在使用Java.NIO Directory Watcher读取文件后是否发生了更改,除非我误解了你。