click below
click below
Normal Size Small Size show me how
OCPJP708.6
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. |