26.09.2013 Aufrufe

06/2012 - KaffeeKlatsch

06/2012 - KaffeeKlatsch

06/2012 - KaffeeKlatsch

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!