我有一個程序監視日誌文件的變化。該程序使用FileInputStream來繼續讀取文件。同時,日誌文件可能會被旋轉:舊的日誌文件被重命名並且新的日誌條目被寫入到一個新文件中。如何判斷文件是否被重命名?
我的程序如何確定文件被重命名,以便它切換到新的日誌文件?
我有一個程序監視日誌文件的變化。該程序使用FileInputStream來繼續讀取文件。同時,日誌文件可能會被旋轉:舊的日誌文件被重命名並且新的日誌條目被寫入到一個新文件中。如何判斷文件是否被重命名?
我的程序如何確定文件被重命名,以便它切換到新的日誌文件?
根據this question,JNotify sseems是你的問題的完美解決方案:
JNotify是一個Java庫,允許Java應用程序偵聽文件系統事件,如:
文件創建
文件修改
文件改名
文件已刪除
除非您正在監視文件系統中的更改事件,否則實際上不能。你正在開發什麼文件系統/平臺? – 2011-04-22 09:04:41
將重命名成功,如果文件打開並積極讀取? – Bozho 2011-04-22 09:06:56
可能的重複[是否有一個複雜的文件系統監視器的Java是免費的或開源的?](http://stackoverflow.com/questions/1096404/is-there-a-sophisticated-file-system-monitor-for -java-which-free-or-open-s) – krock 2011-04-22 09:22:49