Reactive Wrapper for Java8 WatchService
September 27, 2018 ยท View on GitHub
RxFileWatcher allows you to observe directories (recursively or not) for file system events with a RxJava observable. It is based on the JDK WatchService, but it is much more convenient.
What's New?
Sep 12, 2018Updated to Rx2, fix some bugs.Jul 18, 2015Initial project, first release by Helmbold.
Usage
The following example creates an observable that watches the given directory and all its subdirectories for file system events. Directories which are created later are watched, too. Each event will be emitted as a WatchEvent.
PathObservables
.watchRecursive(Paths.get("some/directory/"))
.subscribe(event -> System.out.println(event));
To watch only the top-level directory, you call watchNonRecursive instead of watchRecursive:
PathObservables
.watchNonRecursive(Paths.get("some/directory/"))
.subscribe(event -> System.out.println(event));
That's it!
See RxJava Documentation for more information, e. g. how you can filter certain types of events.
Get it
Available on Maven Central.
Maven
<dependency>
<groupId>de.helmbold</groupId>
<artifactId>rxfilewatcher</artifactId>
<version>1.0.0</version>
</dependency>
Gradle
implementation('de.helmbold:rxfilewatcher:1.0.0')