【发布时间】:2013-11-16 22:41:20
【问题描述】:
我一直在玩java.nio.file.Files,偶然发现了一个奇怪的问题。我有一个符号链接,但Files.isSymbolicLink() 和Files.readAttributes() 的符号链接属性显示不同的结果。
以下是我创建链接的方式:
D:\DEV\test>mklink /D link1 components
symbolic link created for link1 <<===>> components
相关java代码:
Path symLinkDirectory = Paths.get("D:\\DEV\\test\\link1");
DosFileAttributes dosFileAttributes = Files.readAttributes(symLinkDirectory, DosFileAttributes.class);
System.out.println(String.format(
"Files.isSymbolicLink(): %b, dosFileAttributes.isSymbolicLink(): %b",
Files.isSymbolicLink(symLinkDirectory), dosFileAttributes.isSymbolicLink()));
给我这个输出:
Files.isSymbolicLink(): true, dosFileAttributes.isSymbolicLink(): false
谁能告诉我为什么属性报告该文件不是符号链接?我错过了什么吗?这也发生在 unix 上吗?
【问题讨论】: