Maison > Java > javaDidacticiel > le corps du texte

Voici quelques options de titres, jouant sur le format du « défi » et des questions : * Comment détecter de manière fiable les liens symboliques en Java 1.6 ? * Est-ce un lien symbolique ? Une méthode fiable pour Java 1.6 Direct

DDD
Libérer: 2024-10-27 03:30:03
original
424 Les gens l'ont consulté

Here are a few title options, playing on the

Détermination des liens symboliques en Java 1.6

Dans le contexte d'une classe DirectoryWalker fonctionnant sur les systèmes UNIX, déterminer si une instance de fichier est une instance symbolique créer un lien vers un répertoire peut être difficile. Bien que la condition fournie :

if (file.getAbsolutePath().equals(file.getCanonicalPath()))
Copier après la connexion

peut servir d'indicateur, elle peut ne pas être entièrement fiable.

Approche alternative

Une approche plus fiable technique, employée dans Apache Commons, consiste à comparer le chemin canonique du répertoire parent avec le chemin canonique du fichier lui-même :

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

Ici, la non-concordance entre les chemins canoniques et absolus indique la présence d'un symbole lien. Cependant, il est important de noter que cet algorithme repose sur les hypothèses suivantes :

  • Le répertoire parent du fichier peut être résolu en un chemin canonique.
  • Le système de fichiers prend en charge les liens symboliques .

Si ces hypothèses ne se vérifient pas, l'algorithme peut ne pas déterminer avec précision la présence d'un lien symbolique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!