Как правило, вы указываете имя каталога файла при запуске службы наблюдения. Вот учебник, демонстрирующий, как это работает:
http://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes
Из учебника:
Path dir = ...;
try {
WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
}[.....]
когда вы ловите уведомление:
//The filename is the context of the event.
WatchEvent<Path> ev = (WatchEvent<Path>)event;
Path filename = ev.context();
Path child = dir.resolve(filename);