3
我正在使用JDK 7的WatchService來監視目錄。如何從使用JDK 7刪除目錄中告知文件刪除?
ENTRY_DELETE
事件告訴我一個條目已被刪除。我可以得到這個條目的名稱做類似於:
WatchEvent<Path> ev = cast(event);
Path name = ev.context();
Path child = dir.resolve(name);
我想知道如果刪除的條目是一個文件或文件夾。當然,我試過child.isDirectory()
,但那當然不起作用,因爲元素不再存在。
有沒有什麼辦法,沒有啓發式,告訴如果刪除的元素是一個文件或目錄?
是的,我發現這可能只是它得到的,但我想也許它會在啓動時掃描目錄結構或類似的東西,從而在發生事件時從文件夾告知文件。 我看到你給的參考是一個.net FileSystemWatcher,但我使用的是Java。就我所知,這個.net watcher具有「重命名」事件,但是據JDK 7的NIO2.0 WatchService不支持。 您的答案與.net相關嗎? 如果無法通過文件夾刪除來告訴文件,我只需要像兩個人一樣行事 - 而且我的一個操作會失敗,我會忽略它。 – shwartz 2010-07-09 11:46:44