Java NIO2中relativize生成路径里的..符号代表什么?
关于Java Path relativize()生成的
..符号含义 首先明确:这个..仅表示相对路径的层级,并非特指data目录。
具体解释
你创建的两个Path对象:
Path path3 = Paths.get("E:\\data"); Path path4 = Paths.get("E:\\user\\home");
调用path3.relativize(path4)得到..\user\home,这个结果的逻辑是:
- 从
E:\data目录出发,要到达E:\user\home,首先需要回到当前目录的父级(也就是E:\根目录),这里的..就是用来表示「当前目录的上一级」这个层级关系; - 回到根目录后,再依次进入
user和home目录,最终组合成..\user\home。
验证逻辑
如果把path3换成其他同级目录,比如:
Path path3 = Paths.get("E:\\docs"); Path path4 = Paths.get("E:\\user\\home");
调用relativize()得到的结果依然是..\user\home——这说明..和原目录的名称(不管是data还是docs)无关,它只是通用的相对路径符号,仅代表「向上跳转一层目录」的层级操作。
内容的提问来源于stack exchange,提问作者Dean Mouton
相关产品推荐
相关产品推荐

