Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取实际文件,给定java6上的符号链接_Java_Io_Filesystems_Symlink_Java 6 - Fatal编程技术网

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

获取实际文件,给定java6上的符号链接,java,io,filesystems,symlink,java-6,Java,Io,Filesystems,Symlink,Java 6,我在远程机器上有一个目录,其中有指向实际文件的符号链接,我应该在给定符号链接的情况下读取实际文件 如果我能找到符号链接指向的实际文件路径,我可以这样做 我知道,如果我们使用Java7,我们可以使用NIO2的类(即Path、Path和文件)来实现这一点,但我们无法升级到JDK7,原因有几个 同样的事情我在Java6中没有看到。同样的工作应该是什么?我已经试过了,但没用。我没有足够的声誉来评论,但我可以给出答案。奇怪 这个程序演示了getCanonicalPath(),它确实解析了符号链接 impo

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

如果我能找到符号链接指向的实际
文件路径
,我可以这样做

我知道,如果我们使用Java7,我们可以使用NIO2的类(即
Path
Path
文件
)来实现这一点,但我们无法升级到JDK7,原因有几个


同样的事情我在Java6中没有看到。同样的工作应该是什么?我已经试过了,但没用。

我没有足够的声誉来评论,但我可以给出答案。奇怪

这个程序演示了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

尝试在远程主机上执行
readlink-f thefile
;非零退出状态意味着链路没有有效的目标,否则将在标准输出上输出结果。但是,
.getCanonicalFile()
不起作用吗?不,getCanonicalFile不起作用。它提供符号链接本身的位置。关于:readlink-f thefile您能详细说明一下吗?您到底不明白什么?readlink-f symLink只返回符号链接的规范路径,它指向自身而不是实际的文件位置。对不起,那应该是readlink-e