Watching a folder for changes

Let's start with a stub method that gets the Path of the folder that should be monitored for changes as an argument:

public void watchFolder(Path path)     throws IOException, InterruptedException {  ...}

WatchService will notify us when any of the ENTRY_CREATE, ENTRY_DELETE, and ENTRY_MODIFY event types occur on the given folder. For this, we need to follow several steps:

  1. Create WatchService so that we can monitor the filesystem—this is accomplished via FileSystem.newWatchService(), as follows:
WatchService watchService   = FileSystems.getDefault().newWatchService();
  1. Register the event types that should be notified—this is accomplished via Watchable.register():
path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE, ...

Get Java Coding Problems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.