我在远程机器上有一个目录,其中我有指向实际文件的符号链接,我应该在给定符号链接的情况下读取实际文件。
如果能找到符号链接指向的实际filePath
,我就能做到。
我知道如果我们使用Java 7,我们可以使用NIO2的类(即Path
,Paths
和Files
)来完成它,但我们可以'由于几个原因升级到JDK7。
我在Java 6中没有看到同样的事情。同样的解决方法应该是什么?我已经尝试过this,但它没有帮助。
答案 0 :(得分:3)
我没有足够的声誉来评论,但我可以给出答案。奇怪。
此程序演示了getCanonicalPath(),它确实解析了符号链接。
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
File link = new File("testlink");
System.out.println(link.getCanonicalPath());
}
}
并运行它会产生:
[jon@dragon ~]$ ls -l testlink
lrwxrwxrwx. 1 jon jon 9 Apr 15 13:31 testlink -> Test.java
[jon@dragon ~]$ java Test
/home/jon/Test.java