name.pachler.nio.file
Class WatchService
java.lang.Object
name.pachler.nio.file.WatchService
- All Implemented Interfaces:
- java.io.Closeable
public abstract class WatchService
- extends java.lang.Object
- implements java.io.Closeable
A service that provides monitoring for Watchable
s, reporting changes
on these objects (in the case of jpathwatch, these are Path
instances).
To utilise file monitoring, a program needs to acquire a
watch service first, like this:
WatchService ws = FileSystems.getDefault().newWatchService();
A path needs to be constructed for the directory to be watched, by simply
using the Paths
class:
// assuming we want to watch the '/tmp' directory on a Unix system.
Path path = Paths.get("/tmp");
We can now register the path with the watch service. In this case, we
want to watch for files created under the /tmp directory, so we register
using Path.register(name.pachler.nio.file.WatchService, name.pachler.nio.file.WatchEvent.Kind>...)
with
the StandardWatchEventKind.ENTRY_CREATE
event kind and no modifiers,
like this:
WatchKey key = path.register(ws, ENTRY_CREATE);
Note that we receive a WatchKey
now, which represents the registration
of our path with the watch service. The key is also used subsequently to
retreive events. We'll now wait for an event to occur, like this:
// this will block until an event has occurred, or the WatchService is closed.
WatchKey k = ws.take();
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WatchService
protected WatchService()
close
public abstract void close()
throws java.io.IOException
- Specified by:
close
in interface java.io.Closeable
- Throws:
java.io.IOException
poll
public abstract WatchKey poll()
throws java.lang.InterruptedException,
ClosedWatchServiceException
- Throws:
java.lang.InterruptedException
ClosedWatchServiceException
poll
public abstract WatchKey poll(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException,
ClosedWatchServiceException
- Throws:
java.lang.InterruptedException
ClosedWatchServiceException
take
public abstract WatchKey take()
throws java.lang.InterruptedException,
ClosedWatchServiceException
- Throws:
java.lang.InterruptedException
ClosedWatchServiceException