Как я могу остановить выполнение:
key = watchService.take()
мой код:
//Watcher
public class DirectoryWatcherExample {
public static void main(String[] args) throws IOException, InterruptedException {
WatchService watchService = FileSystems.getDefault().newWatchService();
//My folder
Path path = Paths.get("D:\\java\\Input");
path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
WatchKey key;
while (((key = watchService.take()) != null)) {
System.out.println(key);
System.out.println(key.toString());
for (WatchEvent<?> event : key.pollEvents()) {
if(event.context().toString().contains(".dat")){
System.out.println("FileName: "+event.context());
}
}
key.reset();
}
watchService.close();
}
}
мой код ждет выполнения той строки, можно ли как-то остановить выполнение, пробовал:
key.cancel();
watchService.close()
но это не дало никакого результата, подскажите как решить эту проблему?