Mon fichier est il un lien symbolique ?
Bonjour,
J'ai codé une méthode récursive de parcours d'arborescence qui ajoute tous les fichiers dans un HashMap.
Je m'aperçois que File.isFile() ne considère pas les liens symboliques (ni leurs cibles) comme des fichiers, et pourtant, un ls -la me le confirme.
Le but de mon programme est de monitorer une arborescence de fichiers. Je ne peux donc pas oublier les cibles des liens symboliques ! Quelqu'un a t'il une idée ?
Merci d'avance !
PS: voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
private void init(File dir) {
String path;
for (File f : dir.listFiles()) {
if (f.isFile()) {
path = f.getAbsolutePath();
files.put(path, new MonitoredFile(path));
}
if (f.isDirectory() && f.getName().compareTo(".") != 0 || f.getName().compareTo("..") != 0) {
System.out.println("Scan recursif dans : " + f.getName());
this.init(f);
}
}
} |
Le dossier qui me pose problème :
Code:
1 2 3 4 5 6 7 8
|
[Macintosh-4]/Users/Archaon/Documents/.parallels-vm-directory > la
total 24
drwxr-xr-x 5 Archaon Archaon 170 21 fév 2008 .
drwx------ 18 Archaon Archaon 612 25 sep 19:19 ..
lrwxr-xr-x 1 Archaon Archaon 62 21 fév 2008 Debian Linux -> /Users/Archaon/Documents/Parallels/debian-etch-lamp/debian.pvs
lrwxr-xr-x 1 Archaon Archaon 64 16 fév 2008 My Boot Camp -> /Users/Archaon/Documents/Parallels/My Boot Camp/My Boot Camp.pvs
lrwxr-xr-x 1 Archaon Archaon 64 16 fév 2008 Ubuntu Linux -> /Users/Archaon/Documents/Parallels/Ubuntu Linux/Ubuntu Linux.pvs |