最近在作安卓做業的時候遇到了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()基礎上把..或.這樣的符號解析出來 |