获取实际文件,给出java6上的符号链接

时间:2014-03-20 09:09:16

标签: java io filesystems symlink java-6

我在远程机器上有一个目录,其中我有指向实际文件的符号链接,我应该在给定符号链接的情况下读取实际文件。

如果能找到符号链接指向的实际filePath,我就能做到。

我知道如果我们使用Java 7,我们可以使用NIO2的类(即PathPathsFiles)来完成它,但我们可以'由于几个原因升级到JDK7。

我在Java 6中没有看到同样的事情。同样的解决方法应该是什么?我已经尝试过this,但它没有帮助。

1 个答案:

答案 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
相关问题