Heim >Java >javaLernprogramm >Hier sind einige Titeloptionen, die auf dem „Herausforderungs'- und Fragenformat basieren: * Wie erkennt man zuverlässig symbolische Links in Java 1.6? * Handelt es sich um einen Symlink? Eine zuverlässige Methode für Java 1.6 Direct
Bestimmen symbolischer Links in Java 1.6
Bestimmen Sie im Kontext einer DirectoryWalker-Klasse, die auf UNIX-Systemen arbeitet, ob eine Dateiinstanz eine symbolische ist Der Link zu einem Verzeichnis kann eine Herausforderung sein. Obwohl die bereitgestellte Bedingung:
if (file.getAbsolutePath().equals(file.getCanonicalPath()))
als Indikator dienen kann, ist sie möglicherweise nicht ganz zuverlässig.
Alternativer Ansatz
Ein zuverlässigerer Bei der in Apache Commons verwendeten Technik wird der kanonische Pfad des übergeordneten Verzeichnisses mit dem kanonischen Pfad der Datei selbst verglichen:
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()); }
Hier weist die Nichtübereinstimmung zwischen dem kanonischen und dem absoluten Pfad auf das Vorhandensein eines Symbols hin Link. Es ist jedoch wichtig zu beachten, dass dieser Algorithmus auf den folgenden Annahmen beruht:
Wenn diese Annahmen nicht zutreffen, kann der Algorithmus das Vorhandensein eines symbolischen Links möglicherweise nicht genau bestimmen.
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die auf dem „Herausforderungs'- und Fragenformat basieren: * Wie erkennt man zuverlässig symbolische Links in Java 1.6? * Handelt es sich um einen Symlink? Eine zuverlässige Methode für Java 1.6 Direct. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!