WatchService справляется только с изменениями в файловой системе.Файлы, которые уже есть, не были изменены и, таким образом, не отслеживаются WatchService.Вам потребуется рекурсивно пройтись по всем файлам и каталогам, чтобы получить начальный «просмотр» файлов:
Files.walkFileTree(basePath, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file,
BasicFileAttributes attrs) throws IOException {
// do something with the file
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Path dir,
BasicFileAttributes attrs) throws IOException {
// do something with the directory
return FileVisitResult.CONTINUE;
}
});
Все изменения, которые происходят после инициализации, затем отслеживаются WatchService.