Monitorare il file system con Java
Finalmente vacanza, e finalmente posso dedicarmi di più al blog e alla programmazione per conto mio!
Oggi vediamo come monitorare il file system usando Java e il packaje NIO (incluso nel JDK ovviamente).
Qui potete leggere le differenze rispetto al più classico IO.
Partiamo dal main:
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchService;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
Path folder = Paths.get("/path/to/dir");
if (folder == null) {
throw new UnsupportedOperationException("Directory not found");
}
WatchService ws = folder.getFileSystem().newWatchService();
Watcher w = new Watcher(ws);
Thread th = new Thread(w, "Watcher");
th.start();
folder.register(ws, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
th.join();
}
}
Come vedete usiamo praticamente solo classi e oggetti di NIO.