Обнаружение символической ссылки в Java

Учитывая объект Java 'File', как я могу определить, ссылается ли оно на символическую ссылку?

(Если это помогает/имеет значение, я знаю, что файл ссылается на каталог, а не на файл)

Ответы

Ответ 1

File.getCanonicalPath() разрешает символические File.getCanonicalPath()

Каноническое имя пути является как абсолютным, так и уникальным. Точное определение канонической формы зависит от системы. Этот метод сначала преобразует этот путь в абсолютную форму, если необходимо, как если бы он вызывал метод getAbsolutePath(), а затем отображает его в его уникальную форму системно-зависимым способом. Обычно это включает удаление избыточных имен, таких как "." и ".." из пути, разрешения символических ссылок (на платформах UNIX) и преобразования букв дисков в стандартный регистр (на платформах Microsoft Windows).

Я предполагаю, что вы можете сравнить результат getCanonicalPath() и getAbsolutePath().

Обновление: кажется, этот вопрос уже был задан - проверьте ответы там