In Java kann eine symbolische Verbindung in einer Unix-Umgebung erkannt werden, indem der kanonische und der absolute Pfad der Datei verglichen werden. Dieser Trick funktioniert jedoch nicht unter Windows. Wenn ich
ausführe %Vor%von der Befehlszeile und führen Sie dann die folgenden Zeilen in Java
aus %Vor%Die Ausgabe ist
%Vor%Gibt es irgendeine Möglichkeit, eine Junction in Windows vor Java 7 zu erkennen?
Die Antwort lautet "Nein". Knotenpunkte und symbolische Verbindungen sind nicht die gleichen Dinge. Die JRE sucht nicht nach ihnen, und daher unterscheiden die Funktionen, die Sie angeben, sie nicht.
Wenn Sie das gesagt haben, könnten Sie etwas mit folgendem erreichen:
Wenn das Junctioned-Verzeichnis Inhalt hat, dann kann das Ergebnis, dass der kanonische Pfadname von etwas darunter runter kommt, "überraschend" sein und die Situation offenbaren, da es wahrscheinlich ein Pfadname unter dem Ziel der Junction ist. Dies funktioniert nur, wenn das Verzeichnis, auf das die Junction zeigt, natürlich nicht leer ist.
Sie können diesen schmutzigen Hack für Windows ausprobieren
%Vor%Tags und Links java windows cross-platform