我不断用BufferedReader实时读取日志文件。这个效果很好。但是每天都有一个日志轮换,这意味着我的日志文件将被重命名并且不再更改。将在同一位置创建一个新的日志文件。在我可以更改为新的日志文件之前,我需要完成读取当前文件的操作,使用BufferedReader没问题,但是如何识别文件名已更改?

我尝试调用file.getPath()file.getAbsolutePath(),但这是行不通的,因为File -objects路径在创建后是固定的。

我也尝试使用WatchService,但是附加到文件也会导致ENTRY_DELETE。所产生的检查是否为重命名的过剩内容实在太多了。

有人知道告诉日志文件是否已重命名的方法吗?

最佳答案

您可以尝试JNotify。尽管不知道所需的资源,但是可以完成工作。

10-08 15:02
查看更多