您的位置:首页 > 编程语言 > PHP开发

file的getPath getAbsolutePath和getCanonicalPath的不同

2016-03-14 12:25 639 查看
1.getPath()与getAbsolutePath()的区别

public static void test1(){

File file1 = new File(".\\test1.txt");

File file2 = new File("D:\\workspace\\test\\test1.txt");

System.out.println("-----默认相对路径:取得路径不同------");

System.out.println(file1.getPath());

System.out.println(file1.getAbsolutePath());

System.out.println("-----默认绝对路径:取得路径相同------");

System.out.println(file2.getPath());

System.out.println(file2.getAbsolutePath());

}

得到的结果:

-----默认相对路径:取得路径不同------

.\test1.txt

D:\workspace\test\.\test1.txt

-----默认绝对路径:取得路径相同------

D:\workspace\test\test1.txt

D:\workspace\test\test1.txt

因为getPath()得到的是构造file的时候的路径。

getAbsolutePath()得到的是全路径

如果构造的时候就是全路径那直接返回全路径

如果构造的时候试相对路径,返回当前目录的路径+构造file时候的路径

2,getAbsolutePath()和getCanonicalPath()的不同

public static void test2() throws Exception{

File file = new File("..\\src\\test1.txt");

System.out.println(file.getAbsolutePath());

System.out.println(file.getCanonicalPath());

}

得到的结果

D:\workspace\test\..\src\test1.txt

D:\workspace\src\test1.txt

可以看到CanonicalPath不但是全路径,而且把..或者.这样的符号解析出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: