我正在使用BufferedReader
实时读取日志文件。这非常好用。但是每天都有一个Log-rotate,这意味着我的日志文件将被重命名,不再发生变化。将在同一位置创建新的日志文件。在我可以更改为新的日志文件之前,我需要读完当前的日志文件,这对使用BufferedReader
没有问题,但我怎么能发现文件名已经改变了呢?
我尝试调用file.getPath()
和file.getAbsolutePath()
,但这不起作用,因为File
- 对象路径在创建后是固定的。
我也尝试使用WatchService
,但是附加到该文件也会导致ENTRY_DELETE
。由此产生的用于检查它是否是重命名的overead只是为了很多。
有人知道如何判断日志文件是否已重命名?