栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的getPath(),getAbsolutePath()和getCanonicalPath()有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的getPath(),getAbsolutePath()和getCanonicalPath()有什么区别?

考虑以下文件名:

C:tempfile.txt
-这是一条路径,一条绝对路径和一条规范路径。

.file.txt
-这是一条路。它既不是绝对路径也不是规范路径。

C:tempmyappbin..\..file.txt
-这是一条路径,也是一条绝对路径。这不是一条规范的道路。

规范路径始终是绝对路径。

从路径转换为规范路径使其成为绝对路径(通常添加到当前工作目录,因此例如

./file.txt
成为
c:/temp/file.txt)
。文件的规范路径仅“净化”路径,删除
..
并解决符号链接之类的问题并解决(在Unix上)符号链接。

还要注意以下带有nio.Paths的示例:

String canonical_path_string = "C:\Windows\System32\";String absolute_path_string = "C:\Windows\System32\drivers\..\";System.out.println(Paths.get(canonical_path_string).getParent());System.out.println(Paths.get(absolute_path_string).getParent());

虽然两个路径都指向相同的位置,但是输出将大不相同:

C:WindowsC:WindowsSystem32drivers


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411088.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号