Normal Size Small Size show me how
Cert Obj Watch a directory for changes with the WatchService interface.
|[8.6.1] Objective||Watch a directory for changes with the WatchService interface.|
|[8.6.2] Steps for setup||1. Create a new WatchService 2. Register it on a Path listening to one or more event types|
|[8.6.3]Handling WatchKey||3. Loop until you are no longer interested in these events 4. Get a WatchKey from the WatchService 5. Call key.pollEvents and do something with the events 6. Call key.reset to look for more events|
|[8.6.4]Within the loop, you need to get a WatchKey. First choice is take()||The most common is to call take(), which waits until an event is available. It throws an InterruptedException if it gets interrupted without finding a key. This allows you to end the program.|
|[8.6.5] Second choice is poll()||The other way is to call poll(), which returns null if an event is not available. You can provide optional timeout parameters to wait up to a specific period of time for an event to show up.|
|[8.6.6] Finally, you call key.reset().||This is very important. If you forget to call reset, the program will work for the first event, but then you will not be notified of any other events.|