Java 7 Tage NIO.2 – DirectoryStream

NIO2 stellt eine Erweiterung der File API in der Java Welt dar. Was davon in Java 7 auf uns zukommt, und wie NIO2 den Verzeichnisinhalt ausliest gibts hier.


Heute gehen wir von den Java 7 Neuerungen im Bereich NIO weitere Methoden der Files Klasse an:

Path p = Paths.get(“c:/”);
DirectoryStream<Path> files = Files.newDirectoryStream(p);
try {
    for(Path fp : files)
        System.out.println(fp.getFileName());
} finally {
    files.close();
}

Mittel der Methode in Zeile 2 wird ein Stream geöffnet um alle Dateien und Verzeichnisse in einem gegebenen Pfad aufzulisten. Die zum Auslesen des Verzeichnisinhalts vorgesehene newDirectoryStream Methode ist in drei Ausprägungen vorhanden. Z.B. einen simplen Aufruf auf den Pfad wie im obrigen Beispiel. Auch gibt es eine Methode die diverse Filter annimmt, mit der man z.B. nach Dateigrößen aussortieren kann. Oder aber eine andere Ausprägung, bei der man mittels Regex Expression den Dateinamen filtern kann.

DirectoryStream implementiert das Interface Iterable und ist daher über foreach auslesbar. Da aber damit nicht alle auf einmal ausgelesen werden muss man den Stream wieder schließen. Da er das Closable Interface implementiert und damit auch AutoClosable kann der Stream innerhalb des neuen trycatch Mechanismus automatisch geschlossen werden wie vorherige Woche beschrieben.

Happy NIOing

Ähnliche Artikel:

Autor: Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*