Java是否具有本机OS文件系统事件监视支持?

时间:2015-10-27 21:50:15

标签: java

仅文件系统轮询选项吗?或者是否支持FSEvents(OSX),ReadDirectoryChangesW(Windows)?

2 个答案:

答案 0 :(得分:6)

您可以使用a WatchService

  

从文件系统中观察事件的实现旨在直接映射到可用的本机文件事件通知工具,或者在本机工具不可用时使用原始机制(如轮询)

您还可以查看此tutorial确认该点

  

大多数文件系统实现都具有对文件更改通知的本机支持。 Watch Service API在可用的情况下利用此支持。但是,当文件系统不支持此机制时,Watch Service将轮询文件系统,等待事件

答案 1 :(得分:0)

WatchService旨在提供此功能,并且对于macOS除外(截至2020年2月)的大多数主要操作系统,都使用JRE中包含的本机事件的实现。

对于macOS,gmethvin/directory-watcher包括一个开放源代码implementation of WatchService,它使用可以使用的本机事件。