OCPJP 8 Что такое символическая ссылка при использовании NIO2

Я пытаюсь получить сертификат Java 8, у меня уже давно есть Java 6, и Java 7 - мое слабое место, потому что я не работаю с ним, я немного запутался.

Что такое символическая ссылка ??

Согласно википедии.

In computing, a symbolic link (also symlink or soft link) is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.

Мои вопросы есть.

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

final Path path = ...
System.out.println(Files.isSymbolicLink(path));

Возможно, это глупый вопрос, но я действительно хочу знать !!


person chiperortiz    schedule 24.05.2018    source источник
comment
В unix это будет файл, созданный с ln -s ....., А в Windows с mklink .... ОС знает, как их различать, и nio обязательно использует JNI для этих запросов. JNI - это собственный интерфейс Java, который позволяет вам реализовать интерфейс Java на другом языке, таком как C, с помощью ОС.   -  person AxelH    schedule 24.05.2018


Ответы (1)


В моем ubuntu я создал два файла в /tmp/

echo "Hello world" > file.txt
ln -s file.txt link.txt

Если я проверю оба файла.

Files.isSymbolicLink(Paths.get("/tmp/file.txt")) //false
Files.isSymbolicLink(Paths.get("/tmp/link.txt")) //true

То же самое будет работать в Windows с файлом и ссылкой, сделанной с помощью mklink.

person AxelH    schedule 24.05.2018