getAbsolutePath和getCanonicalPath之间有什么不同

时间:2011-09-08 10:35:42

标签: java file

Java新手问题:文件类中getAbsolutePath()和getcanonicalPath()之间的区别是什么。我无法从文件中得到意义。在下面的代码中,它们的输出是相同的。

public class copyFile {
    public static void main(String[] args) throws IOException {
       File inputFile = new File("/home/kit.ho/");
       System.out.println("get AbsolutePath");
       System.out.println(inputFile.getAbsolutePath());
       System.out.println("get CanonicalPath");
       System.out.println(inputFile.getCanonicalPath());
    }
}

1 个答案:

答案 0 :(得分:21)

假设/home实际上是/usr/home的符号链接。然后getAbsolutePath仍会返回/home/kit.ho/,而getCanonicalPath会解析符号链接并返回/usr/home/kit.ho/