В чем разница между getAbsolutePath и getCanonicalPath

Вопрос Java Newbie: каковы различия между 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

Предположим, что /home фактически была символической ссылкой на /usr/home. Тогда getAbsolutePath все равно вернет /home/kit.ho/, тогда как getCanonicalPath разрешит символическую ссылку и вернет /usr/home/kit.ho/.