簡體   English   中英

如何判斷文件是否已重命名?

[英]How can I tell if a file was renamed?

我有一個程序監視日志文件的更改。 該程序使用FileInputStream來繼續讀取文件。 同時,日志文件可能會被輪換:重命名舊日志文件,並將新日志條目寫入新文件。

我的程序如何確定文件是否重命名,以便切換到新日志文件的讀取?

根據這個問題, JNotify看起來是您問題的完美解決方案:

JNotify是一個java庫,允許java應用程序監聽文件系統事件,例如:

文件已創建

文件已修改

文件已重命名

文件已刪除

也許您可以根據自己的需要觀看文件系統並進行更改。

我能想到的最簡單的方法就是每5秒輪詢一次文件大小或類似的東西。

如果您正在讀取的文件已重命名並且創建了新文件,則您的輪詢將顯示大小突然減小。 然后,您可以相應地重新創建FileinputStream。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM