Package name.pachler.nio.file
Class WatchService
- java.lang.Object
-
- name.pachler.nio.file.WatchService
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
PathWatchService
public abstract class WatchService extends java.lang.Object implements java.io.Closeable
A service that provides monitoring forWatchable
s, reporting changes on these objects (in the case of jpathwatch, these arePath
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 thePaths
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 usingPath.register(name.pachler.nio.file.WatchService, name.pachler.nio.file.WatchEvent.Kind<?>...)
with theStandardWatchEventKind.ENTRY_CREATE
event kind and no modifiers, like this:
WatchKey key = path.register(ws, ENTRY_CREATE);
Note that we receive aWatchKey
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();
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
WatchService()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
close()
abstract WatchKey
poll()
abstract WatchKey
poll(long timeout, java.util.concurrent.TimeUnit unit)
abstract WatchKey
take()
-
-
-
Method Detail
-
close
public abstract void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.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
-
-