Java tutorial
import java.nio.file.StandardWatchEventKinds; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.WatchEvent; import java.nio.file.WatchEvent.Kind; import java.nio.file.WatchKey; import java.nio.file.WatchService; public class Main { public static void main(String[] args) { try (WatchService ws = FileSystems.getDefault().newWatchService()) { Path dirToWatch = Paths.get("C:\\myName"); dirToWatch.register(ws, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE); while (true) { WatchKey key = ws.take(); for (WatchEvent<?> event : key.pollEvents()) { Kind<?> eventKind = event.kind(); if (eventKind == StandardWatchEventKinds.OVERFLOW) { System.out.println("Event overflow occurred"); continue; } WatchEvent<Path> currEvent = (WatchEvent<Path>) event; Path dirEntry = currEvent.context(); System.out.println(eventKind + " occurred on " + dirEntry); } boolean isKeyValid = key.reset(); if (!isKeyValid) { System.out.println("No longer watching " + dirToWatch); break; } } } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }