下面小编就带大家详细讨论一下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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。