我通過BufferedReader
實時讀取日誌文件。這工作很好。但每一天都有一個日誌旋轉,這意味着我的日誌文件將被重命名,並不再改變。一個新的日誌文件將被創建在同一個地方。在我可以更改爲新的日誌文件之前,我需要讀完當前的日誌文件,使用BufferedReader
這是沒有問題的,但我怎麼能發現文件名已更改?如何跟蹤,如果文件已被重命名?
我試過打電話file.getPath()
和file.getAbsolutePath()
,但這不起作用,因爲File
-objects路徑在創建之後被修復。
我也試過使用WatchService
,但追加到文件導致ENTRY_DELETE
太。用於檢查它是否是重命名的結果總是很重要。
有沒有人知道一種方法來判斷日誌文件是否已被重命名?
前段時間我回答了一個[類似問題](http://stackoverflow.com/a/16251508/2071828) - 希望它有幫助。 –
我發現答案並嘗試過,但正如我所提到的,檢測重命名而不是追加的開銷非常大。 –
對不起,我沒有看到這是如何「太多開銷」。 – fge