最近在作安卓做业的时候遇到了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()基础上把..或.这样的符号解析出来 |