This is the official BarbaryWatchService repository, moved from https://code.google.com/p/barbarywatchservice/
See issues for current plans.
Java 7 has an API to detect file system changes called Watch Service. This project uses JNA to hook into Apple’s File System Events API.
This is almost a direct drop-in replacement for Java 7’s Watch Service API. I’ve used the API source code from OpenJDK 7 as much as possible.
There’s a Demo example here.
A lot of source code is from OpenJDK.
You obtain a Watch Service instance as follows:
WatchService watcher = WatchService.newWatchService();
Instead of creating Path objects, use WatchableFile
objects:
WatchableFile file1 = new WatchableFile(new File("/path/to/watch"));
There is a tutorial for Java 7’s Watch Service API here.
Get the Maven dependency:
<dependency>
<groupId>net.incongru.watchservice</groupId>
<artifactId>barbary-watchservice</artifactId>
<version>1.0</version>
</dependency>