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 …

  • Est-il possible de lier un TableLayout avec un ArrayAdapter?
  • Gérer le changement d'orientation avec l'exécution de AsyncTask
  • Surpassant la touche Accueil Appuyez longuement dans une activité category.HOME
  • Android get ID de périphérique pour adMob
  • Conserver la connexion socket entre les activités sur Android
  • Comment garder toutes les méthodes dans une classe avec ProGuard
  • Envoi d'un fichier à l'aide de Bluetooth OBEX Object Push Profile (OPP)
  • Comment obtenir tous les cookies de CookieManager Android?
  • Mettre en œuvre une base de feu à l'intérieur d'une bibliothèque
  • Cas d'utilisation Android SyncAdapter
  • Suppression du rembourrage supplémentaire dans un GridView dans Android
  • Android - problèmes d'animation d'ActionBar icon from Fragments
  • 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.