Вам нужно получить родительский каталог из WatchKey для разрешения полного пути
WatchKey key;
WatchEvent<Path> event;
Path dir = (Path)key.watchable();
Path fullPath = dir.resolve(event.context());
Этот фрагмент кода читается так, как будто ему требуется сопроводительная документация, он сам по себе не имеет большого смысла. Каковы были их намерения с этим конкретным дизайном API?
И это только начало, возможно, неинтуитивного использования. API наблюдателя файлов в Java субъективно уступает альтернативным библиотекам.