Hi.
Ich hab folgendes Problem:
Ich möchte alle Dateien aus einem Verzeichnis rekursiv auslesen und meinetwegen in ne Liste schreiben. Dabei möchte ich aber natürlich auch symbolic links (also Verknüpfungen unter Windows) auf Ordner folgen und ihr "Inhalte" sollen in der Liste dementsprechend auch auftauchen.
Das ganze sieht bisher ungefähr so aus:
Unter Linux folgt das einwandfrei auch symbolic links auf Verzeichnisse, aber unter Windows werden Verknüpfungen auf Ordner (*.lnk) nicht als Ordner erkannt.
Wie kann ich jetzt herausfinden ob es sich um einen Ordner handelt und seinen Inhalt auslesen (oder muss ich evtl. erst umständlich die Datei auslesen etc.?) ?
lg,
cui
Ich hab folgendes Problem:
Ich möchte alle Dateien aus einem Verzeichnis rekursiv auslesen und meinetwegen in ne Liste schreiben. Dabei möchte ich aber natürlich auch symbolic links (also Verknüpfungen unter Windows) auf Ordner folgen und ihr "Inhalte" sollen in der Liste dementsprechend auch auftauchen.
Das ganze sieht bisher ungefähr so aus:
Code:
private void fillFileList(File dir, List<File> l) {
if (dir.isDirectory()) {
for (File f : dir.listFiles()) {
if (f.isDirectory()) {
this.fillFileList(f, l);
} else {
if (f.isFile())
l.add(f);
}
}
}
}
Unter Linux folgt das einwandfrei auch symbolic links auf Verzeichnisse, aber unter Windows werden Verknüpfungen auf Ordner (*.lnk) nicht als Ordner erkannt.
Wie kann ich jetzt herausfinden ob es sich um einen Ordner handelt und seinen Inhalt auslesen (oder muss ich evtl. erst umständlich die Datei auslesen etc.?) ?
lg,
cui