2012-08-08 52 views
0

我正在實現一個WatchDog遞歸查看文件更改,刪除和添加目錄,我使用的是Linux。該程序運行良好,使用Java7進行操作非常簡單,唯一的一點是,當我添加一個帶有一些文件的目錄時,我無法監視所有包含文件的添加。我認爲問題在於,當我添加一個新目錄時,WatchDog必須將其註冊到WatchService,同時添加的某些文件會丟失(通常是一個或兩個)。 WatchDog是一個線程,它將每個updateEvent放入另一個線程讀取的blockingQueue中。Java7:創建新的非空目錄時檢測所有文件

這裏的日式看門狗:http://pastebin.com/q5SW0iJF

任何人都經歷了同樣的問題,如果是,你是怎麼解決的?

謝謝

回答

1

也許你應該考慮Java 7 WatchService API?它可以幫助您重新發明輪子。

+0

?我使用的是,我的課只是輪詢WatchService以查看新事件。問題在於WatchService必須在目錄上註冊才能在其上查找事件。如果我不明白答案,請解釋。謝謝 – Perennialista 2012-08-08 09:53:05

相關問題