inquisitor87
Messages postés22Date d'inscriptiondimanche 26 septembre 2004StatutMembreDernière intervention22 mars 2007
-
16 oct. 2006 à 00:25
inquisitor87
Messages postés22Date d'inscriptiondimanche 26 septembre 2004StatutMembreDernière intervention22 mars 2007
-
16 oct. 2006 à 17:50
Bonjour à tous et à toutes,
Ayant remarqué qu'il y avait énormément de demandes concernant la navigation dans les disque durs et entre les fichiers, je me suis mis en tête de créer pour le déposer en source ici une librairie d'explorateur de fichier complet et GPL. Mais je bute sur un ptit truc tout bête mais qui me gène grandement : je n'arrive pas à déterminer si un dossier est un lien symbolique ou pas. Ce qui me fusille mon algo recursif de calcul de taille de dossiers.
Sauriez-vous comment je pourrais déterminer si un dossier est un lien symbolique ou non ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 16 oct. 2006 à 09:35
Salut,
avant de traiter ton cas je voudrais juste te conseiller de passer en LGPL et non en GPL ce qui risque fort d'attirer plus de gens en effet la GPL est une license virale soit tous projets integrant le tiens deviens lui aussi GPL contrairement à la LGPL...
Sinon concernant ta question voici un exemple (seule la methode isSymLink est utile):
public class Test{
public static void main(String [] args){
File parent = new File("/home/twins");
String link1 = "src";//lien de type repertoire
String link2 = "run";//lien de type fichier
String notLink = "dev";//repertoire normale
try {
System.out.println(isSymLink(parent, link1));//affiche true
System.out.println(isSymLink(parent, link2));//affiche true
System.out.println(isSymLink(parent, notLink));//affiche false
} catch (IOException e) {
e.printStackTrace();
}
}
public static boolean isSymLink(File parent, String name) throws IOException {
if (parent == null) {
File f = new File(name);
parent = f.getParentFile();
name = f.getName();
}
File test = new File(parent.getCanonicalPath(), name);
return !test.getAbsolutePath().equals(test.getCanonicalPath());
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
inquisitor87
Messages postés22Date d'inscriptiondimanche 26 septembre 2004StatutMembreDernière intervention22 mars 2007 16 oct. 2006 à 17:50
Merci de ton aide, cela marche parfaitement. Plus que quelques petites choses et tout sera prêt.
Et enfin merci pour l'astuce de la LGPL, j'y avais pas pensé. Je vais regarder ça de plus prêt. Thanks ;)