,,详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

,,详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

下面小编就带大家详细讨论一下java中文件类getPath()、getAbsolutePath()和getCanonical的区别。我觉得边肖挺好的。我现在就分享给你,给你一个参考。来和边肖一起看看吧。

简单看一下描述,例子最重要。

1、getPath():

你定义的路径,(也就是说,无论你写什么路径,他都会返回)

2、getAbsolutePath():

返回绝对路径,但“.”的情况除外还有“.”不会被处理。

3、getCanonicalPath():

返回的是规范化的绝对路径,相当于解析“.”还有“.”在getAbsolutePath()中转换成相应的正确路径。

第一个例子:(使用:“.\\src\\test.txt”一个点路径)

File file=新文件('。\ \ src \ \ test . txt ');

system . out . println(file . getpath());

system . out . println(file . getabsolutepath());

system . out . println(file . getcanonicalpath());

结果:。\src\test.txt

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

d:\ workspace \ Java _ io \ src \ test . txt

第二个例子:(使用:“..\\src\\test.txt”两个点路径)

File file=新文件('.\ \ src \ \ test . txt ');

system . out . println(file . getpath());

system . out . println(file . getabsolutepath());

system . out . println(file . getcanonicalpath());

结果:

.\src\test.txt

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

D:\workspace\src\test.txt注意,这个结果的路径不同于一个点的路径;因为他分析了“的情况”还有“.”。

第三个例子:(使用:“D:\\test\\absoluteTest.txt”绝对路径)

File File=new File(' D:\ \ test \ \ absolute test . txt ');

system . out . println(file . getpath());

system . out . println(file . getabsolutepath());

system . out . println(file . getcanonicalpath());

结果:

D:\test\absoluteTest.txt

D:\test\absoluteTest.txt

D:\test\absoluteTest.txt

结论:

1.当输入是绝对路径时,所有返回的路径都是绝对路径。

2.当输入是相对路径时:

2.1.getPath()返回文件构造方法中的路径,路径就是路径,不增不减。

2.2.getAbsolutePath()实际上返回user.dir getPath()的内容。从上面的:D: \ workspace \ Java _ IO \\ src \ test.txt,D: \ workspace \ Java _ IO \.\ src \ test.txt,可以得到。

2.3.getCanonicalPath()返回完全解析符号的标准路径。

以上关于java中文件类getPath()、getAbsolutePath()和getCanonical之间区别的详细讨论,就是边肖分享的全部内容。希望能给你一个参考,多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: