You need to get the parent directory from the WatchKey to resolve the full path
WatchKey key;
WatchEvent<Path> event;
Path dir = (Path)key.watchable();
Path fullPath = dir.resolve(event.context());
This piece of code reads like it needs accompanying documentation to be grasped, it makes little sense on its own. What were their intentions with this particular API design?
And this is only the beginning of possibly unintuitive usage. Java’s file watcher API is subjectively inferior to alternative libraries.