UNIX Dateiattribute [Verzeichnis-Link]
-
Hallo!
Ich habe ein kleines Swing-Suchprogramm geschrieben, welches alle Unterordner (und deren Unterordner wieder, ...) eines Verzeichnisses durchgeht und die passenden Dateien in eine Liste schrebt.
Jetzt starte ich das Ding in Linux und muss feststellen, dass File.isDirectory bei einem Verzeichnislink true wird. Dadurch entsteht eine kleine Endlosschleife!
Z.B.
"/home/ich/Desktop/link" zeigt auf "/home/ich/Desktop/"
dadurch entsteht dann folgender Suchpfad:
"/home/ich/Desktop/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link..."Weiß jemand abhilfe?
-
Speicher die Verzeichnisse doch in einem Set<File>. Bevor du ein Verzeichnis weiter traversierst, guckst du erstmal im Set nach, ob es nicht bereits untersucht wurde.
[Edit: oder untersuch nur Dateien deren Pfad grösser als ihr vorangehendes Verzeichnis ist. Das schützt zwar vor endlosen Durchgängen, aber nicht vor mehrfachem angucken ein und derselben Datei]