06/2012 - KaffeeKlatsch
06/2012 - KaffeeKlatsch
06/2012 - KaffeeKlatsch
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Seite 21<br />
Damit geben wir an, dass der WatchService für jegliche<br />
Dateiänderungen aktiv werden soll. Möglich wäre ebenso<br />
das Erstellen und Löschen von Dateien, die man auch<br />
per Varargs kombinieren kann.<br />
Doch bisher können wir die Änderungen noch nicht<br />
auswerten, dazu muss man in einer (Endlos)Schleife die<br />
einzelnen Events auslesen.<br />
while (true) {<br />
WatchKey key = watchDog.take();<br />
for (WatchEvent event : key.pollEvents()) {<br />
System.out.println(<br />
"Datei "+event.context()+" wurde geändert."<br />
);<br />
}<br />
key.reset();<br />
}<br />
Mit take() wird der WatchService für weitere Zugriffe<br />
blockiert, solange bis man den erhaltenen WatchKey mit<br />
reset() wieder freigibt. Alternativ kann man auch mit<br />
poll() nicht blockierend einen WatchKey erhalten.<br />
Fazit<br />
Es ist erstaunlich was in der neuen API so alles drin<br />
steckt und berücksichtigt wurde. Praktisch alles was man<br />
von modernen Anwendungen her so kennt, lässt sich mit<br />
NIO.2 umsetzen. Und dabei haben wir die Möglichkeiten<br />
der neuen Dateisystem-API noch gar nicht betrachtet.<br />
Auch wenn wir praktisch 8 Jahre darauf warten mussten,<br />
gelohnt hat es sich allemal.<br />
Weiterführende Literatur<br />
• The Java Tutorials File I/O (Featuring NIO.2)<br />
http://docs.oracle.com/javase/tutorial/essential/io/fileio.html<br />
• Galileo Java 7- Mehr als eine Insel<br />
http://openbook.galileocomputing.de/java7/1507_05_003.html<br />
Kurzbiografie<br />
Frank Goraus ( ) ist Senior Developer<br />
bei der MATHEMA Software GmbH in Erlangen. Seit 20<strong>06</strong> beschäftigt<br />
er sich bereits mit der Entwicklung von JEE-Anwendungen,<br />
u. a. in Verbindung mit einem Portal-Server. Seine Liebe zum Detail<br />
verwirklicht er mit seinen Web-Design-Kenntnissen. In seiner Freizeit beschäftigt<br />
er sich außerdem mit Android-Entwicklung, verschiedensten Web-Frameworks<br />
und einem eigenen Projekt für eine Sammlungsverwaltung.<br />
Herbstcampus<br />
3. – 6. September <strong>2012</strong><br />
in Nürnberg