2015-10-27 48 views

回答

4

您可以使用a WatchService

是觀察從文件系統事件的目的是如果可以直接在映射到本地文件事件通知工具,或使用原始的機制,如輪詢的實現當本地服務不適

您也可以看看這個tutorial這證實了一點

大多數文件系統實現都具有對文件更改通知的本機支持。 Watch Service API在可用的情況下利用此支持。但是,當文件系統不支持這種機制時,Watch服務將輪詢文件系統,等待事件

+0

任何檢查本機OS API是否真的被使用的方法?如果我運行該示例並修改正在監視的文件夾中的文件,則需要大約4-5秒才能檢測到更改,而使用FSEvents的C程序會立即檢測到該更改。 – daniels

+0

我不知道說實話...您可能會在該線程中找到更多信息:http://mail.openjdk.java.net/pipermail/nio-dev/2014-August/002691.html(以及答案似乎是,它使用OSX輪詢) – assylias

+0

@daniels這可能會感興趣:在JDK/JRE http://stackoverflow.com/a/11182515/829571 – assylias