最近在做安卓作业的时候遇到了getCanonicalPath,遂上网查了一番资料
来看一个DEMO吧:
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());
}
}
这是输出结果:
-----默认相对路径:取得路径不同------ 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()基础上把..或.这样的符号解析出来 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。