Skip to content

Commons-IO: DirectoryWalker

2009 Juli 19
tags: , ,
by Haf

Commons-IO bzw. allg. Apache Commons ist eine schöne Ansammlung von nützlichen Bibliotheken und Funktionen.
Darunter ist auch Commons-IO zu finden. Daraus will ich heute eine spezielle Lösung vorstellen.
Hat man folgendes Problem:
Möchte man einen Ordner, inklusive dessen Unterordner, nach bestimmten Dateien suchen und dann diese vielleicht nach Last-Modified sortiert, bietet Commons-IO eine Lösung an.

Um den/die Ordner durchzulaufen existiert ein DirectoryWalker.
Um den abstrakten DirectoryWalker nutzen zu können könnte man z.B. eine folgende Implementierung nutzen:

Wie man sehen kann, kann man innerhalb weniger Zeilen einen DirectoryWalker schreiben, der alle Unterordner durchgeht und alle Dateien mit dem Titel „abc.txt“ liefert.
Die Nutzung ist genauso simpel:

Der Konstruktor TestDirectoryWalker(IOFileFilter, IOFileFilter, int) erwartet zwei Filter, einen für die Ordner und einen für die Dateien. Die Auswahl ist umfangreich, ansonsten kann man auch seinen eigenen schreiben.

Als letztes ist vielleicht noch die Zeile

interessant. LastModifiedFileComparator ist wie der Name schon andeutet, eine Klasse welches Comparator implementiert bzgl. File.lastModified(). Die Liste mit den gefundenen Dateien wird aufsteigend sortiert.

Innerhalb weniger Minuten kann man verschiedene Ordner nach speziellen Dateien suchen. Dank Apache Commons IO.

Share it!
  •  
  •  
  •  
  •  
  •  
  •  
One Response leave one →
  1. Alex permalink
    Februar 5, 2011

    gutes Beispiel, danke!

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS