2015-10-27 47 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