Android: déterminer un lien symbolique

Je scanne tous les répertoires à partir de "/" pour trouver des répertoires particuliers comme "MYFOLDER". Cependant, le dossier est que j'ai deux instances du même dossier. Cela se produit car un dossier est situé dans "/ mnt / sdcard / MYFOLDER" et le même dossier comporte un lien symbolique dans "/ sdcard / MYFOLDER".

Ma question est «Est-il possible de déterminer si le dossier est un lien symbolique ou non?». Donnez-moi des suggestions …

  • Fichier proguard obsolète; Utiliser -keepclasseswithmembers au lieu de -keepclasseswithmembernames
  • Comment connecter le projet Android Studio existant au dépôt Github existant
  • Comment définir la boîte de dialogue de progression pour ne pas être annulée lors de la gestion en tant que fragment?
  • Dessinez le sélecteur en haut - pour une disposition linéaire de base?
  • Chaîne d'échappement réelle d'Android en sqlite
  • GreenDAO 40 secondes pour insérer 600 enregistrements
  • Android OPEN spinner avec un simple clic de bouton
  • Comment faire une mise en page relative en mode défilable lorsqu'elle a de nombreuses vues sur les enfants?
  • Android - Comment savoir quand MediaPlayer est en mémoire tampon
  • Où est l'option d'ajouter un nouvel écran de préférence dans Android Studio 0.4.0?
  • SetOnClickListener et setOnLongClickListener appel sur un problème de bouton unique
  • Les diviseurs supérieurs et inférieurs ne s'affichent pas dans la liste de liste Android
  • One Solution collect form web for “Android: déterminer un lien symbolique”

    C'est essentiellement ce qu'ils font dans Apache Commons (sous réserve de leur licence ):

    public static boolean isSymlink(File file) throws IOException { File canon; if (file.getParent() == null) { canon = file; } else { File canonDir = file.getParentFile().getCanonicalFile(); canon = new File(canonDir, file.getName()); } return !canon.getCanonicalFile().equals(canon.getAbsoluteFile()); } 

    Modifier grâce au commentaire @LarsH. Le code ci-dessus vérifie uniquement si le fichier enfant est un lien symbolique.

    Afin de répondre à la question de l'OP, c'est encore plus facile:

     public static boolean containsSymlink(File file) { return file.getCanonicalFile().equals(file.getAbsoluteFile()); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.