考虑以下文件名:
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



