# Ordner und Dateien auflisten



## marcap (23. Dezember 2007)

Hallo,

Hab ein Programm geschrieben, dass mir sämtliche Ordner und Dateien rekursiv ausliest und und in eine Datei schreibt. 
Allerdings habe ich nun das Problem, dass die Unterordner und Dateien "gemischt" ausgegeben werden. Ich verwende folgenden Code:


```
File maindir = new File(Path);
		File files[] = maindir.listFiles();
```

Wie bekomme ich es hin dass im Array files[] die Ordner zuerst kommen (Alphabetisch sortiert) und dann die Dateien (wieder Alphabetisch sortiert)?


----------



## zeja (24. Dezember 2007)

Das musst du schon selber entsprechend sortieren.

Mit Arrays.sort(array,comparator) müsste das gehen. Musst dir nun den entsprechenden Comparator selber schreiben.


----------



## marcap (24. Dezember 2007)

Wie meinst du das mit Comparator? Habe noch nie damit gearbeitet...


----------



## Laocoon (24. Dezember 2007)

Hi marcap, 

ich würde Dateien und Ordner getrennt behandeln. Du kannst bei listFiles() auch nen FileFilter angeben. Damit kannst du Ordner und Dateien einfach von einander trennen. Anschließend kannst du das Ordner- und das Dateiarray einfach separat - wie von zeja vorgeschlagen - mit Arrays.sort() sortieren. By Default sortiert der dir Dateien alphabetisch nach abstraktem Pfad. Sollte denke ich das sein, was du haben willst. 

Grüße
Daniel


----------

