【发布时间】:2010-07-14 18:13:21
【问题描述】:
在 java 中,可以通过比较文件的规范路径和绝对路径来检测 Unix 环境中的符号链接。但是,此技巧不适用于 Windows。如果我执行
mkdir c:\foo
mklink /j c:\bar
从命令行,然后在java中执行以下行
File f = new File("C:/bar");
System.out.println(f.getAbsolutePath());
System.out.println(f.getCanonicalPath());
输出是
C:\bar
C:\bar
是否有任何 Java 7 之前的方法来检测 Windows 中的连接点?
【问题讨论】:
-
您可以使用 JNI 方法获取文件属性并检查其是否为重解析点
-
应该顺便补充一点,Java 7 也不会将连接检测为符号链接。
标签: java windows cross-platform