Verzeichnise mit Java Monitor WatchService überwachen رصد, izlemek, 顯示器

Erstellt am 18. September 2018 von It_berater

Seit Java 7 gibt es den WatchService zum überwachen von Verzeichnissen auf System-Ebene. Der WatchService übernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event.

Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugefügt wird.
Das wir mit der Konstanten StandardWatchEventKinds.ENTRY_CREATE angegeben. Es gib aber auch noch welche fürs löschen oder verändern. Die Konstanten können dann auch verknüpft werden.

Für die Verwendung muss das Package java.nio.file.* importiert werden. Hier der Beispiel Code, der das „input“ Verzeichnis des Users überwacht, der auch auf einem Raspberry Pi läuft 😉

String rootVerzeichnis = System.getProperty("user.dir");
Path inputPath = Paths.get(rootVerzeichnis, "input");

WatchService watchService = FileSystems.getDefault().newWatchService();
inputPath.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); 

	WatchKey key;
	while ((key = watchService.take()) != null) {
		for (WatchEvent event : key.pollEvents()) {
		   String neueDatei = event.context().toString();
                   // neueDatei enthält den Dateinamen der zugfügten Datei
	         }
 key.reset();
}

Ähnliche Artikel:

  1. Java Rätsel des Monats
  2. Java 7 ist DA!
  3. Quick-Howto für die Coole Java Template-Erstellung (JaMoPP) mit CommentTemplate ldt. JavaMagazin 1-2013