我不断用BufferedReader
实时读取日志文件。这个效果很好。但是每天都有一个日志轮换,这意味着我的日志文件将被重命名并且不再更改。将在同一位置创建一个新的日志文件。在我可以更改为新的日志文件之前,我需要完成读取当前文件的操作,使用BufferedReader
没问题,但是如何识别文件名已更改?
我尝试调用file.getPath()
和file.getAbsolutePath()
,但这是行不通的,因为File
-objects路径在创建后是固定的。
我也尝试使用WatchService
,但是附加到文件也会导致ENTRY_DELETE
。所产生的检查是否为重命名的过剩内容实在太多了。
有人知道告诉日志文件是否已重命名的方法吗?
最佳答案
您可以尝试JNotify。尽管不知道所需的资源,但是可以完成工作。