java File 的getPath getAbsolutePath和getCanonicalPath的不一樣

最近在作安卓做業的時候遇到了getCanonicalPath,遂上網查了一番資料函數

來看一個DEMO吧:spa

public class test_path {
    public static void main(String[] args) throws IOException{
            File file1 = new File("..\\test1.txt");
            File file2 = new File("D:\\workspace\\test\\test1.txt");
            System.out.println("-----默認相對路徑:取得路徑不一樣------");
            System.out.println("getPath(): "+file1.getPath());
            System.out.println("getAbsolutePath(): "+file1.getAbsolutePath());
            System.out.println("getCanonicalPath(): "+file1.getCanonicalPath());
            System.out.println("-----默認絕對路徑:取得路徑相同------");
            System.out.println("getPath(): "+file2.getPath());
            System.out.println("getAbsolutePath(): "+file2.getAbsolutePath());
            System.out.println("getCanonicalPath(): "+file2.getCanonicalPath());
    }
}

這是輸出結果:code

-----默認相對路徑:取得路徑不一樣------
getPath(): ..\test1.txt
getAbsolutePath(): D:\Develop\Code\JAVA-itcast\test_path\..\test1.txt
getCanonicalPath(): D:\Develop\Code\JAVA-itcast\test1.txt
-----默認絕對路徑:取得路徑相同------
getPath(): D:\workspace\test\test1.txt
getAbsolutePath(): D:\workspace\test\test1.txt
getCanonicalPath(): D:\workspace\test\test1.txt

讓咱們總結一下吧:字符串

 
函數名 絕對路徑 相對路徑
getPath() 就是構造file的時候的路徑 就是file字符串
getAbsolutePath() 返回當前目錄的路徑+構造file時候的路徑
getCanonicalPath() 在getAbsolutePath()基礎上把..或.這樣的符號解析出來
相關文章
相關標籤/搜索