View Full Version : [JAVA] FileSystemWatcher
esiste qualche classe o libreria simile alla filesystemwatcher di c#??
In Java7 c'è WatchService.
http://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html
Nulla di noto. Puoi usare JNI per attaccarti a quale api nativa oppure usi un poller. La seconda è meglio perchè essendo tutto in java non hai il problema del sistema operativo. Costa un po' di più in termini di memoria o cpu, dipende da come lo fai.
scusa il ritardo, ma puoi spiegarmi meglio come potrei utilizzare JNI ed il poller. quest'ultimo non so cosa sia
Alla fine ho risolto... per chi interessasse ho utilizzato la libreria jNotify reperibile qui (http://jnotify.sourceforge.net/)... in questo sito c'è anche un esempio comunque per evitare il mio stesso errore, dopo aver importato la libreria nel progetto dovete mettere le due dll (presenti nell'archivio che scaricherete) all'interno della cartella system32
In realtà non è strettamente necessario mettere le dll nella cartella system32. Ci sono alcuni percorsi predefiniti in cui il comando "java" pesca le librerie native di cui ha bisogno e di solito tra questi c'è anche la directory di lavoro - cioè quella da cui lanci il comando java. Vale a dire che se il programma java si trova in x:\pincopallo puoi mettere le dll in x:\pincopallo e lanciare il jar usando x:\pincopallo come cartella di lavoro ti carica anche le dll. In alternativa si può specificare la posizione delle librerie dinamiche con l'opzione di esecuzione:
-djava.library.path="la cartella in cui si trovano le dll"
Alcuni programmi java che usano librerie nativa si occupano poi autonomamente del problema della posizione delle dll scompattandole in una cartella predefinita e caricandole con System.load(il percorso della dll).
Il tutto per evitare di andare a "pasticciare" con una cartella di sistema in cui sarebbe meglio vietare di scrivere a chiunque.
In Java7 c'è WatchService.
http://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html
Finalmente!
Per la mia tesi triennale avevo fatto un app e mi serviva un watcher del genere che funzionasse in tutte le piattaforme, ma non avevo trovato nulla di utile
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.