OCPJP 8 什么是符号 link 使用 NIO2

OCPJP 8 What is a Symbolic link using NIO2

我正在努力获得 Java 8 认证 我很久以前就已经拥有 Java 6 而 Java 7 是我的弱点,因为我还没有使用它,我是有点混乱。

什么是符号 Link??

根据维基百科。

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 识别符号 link 我的意思是什么时候这会打印为真?

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

也许这是一个愚蠢的问题,但我真的很想知道!!

在我的 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 制作的 link。