最近在理解代码的时候,碰到了路径函数的用法,现在整理下使用方法
relativize
有两个Path对象,我们称之为p1和p2
Path p1 = Paths.get("C:\\Users\\Administrator");
Path p2 = Paths.get("C:\\False");
这两个Path对象的生成非常简单,直接路径一目了然。
好,往下走,我们来看看relativize会起到什么作用。
System.out.println(p2.relativize(p1)); //..\Users\Administrator
System.out.println(p1.relativize(p2)); //..\..\False
会有如下显示:
..\Users\Administrator
..\..\False
这是什么意思呢?国外通常会给relativize生成的对象给一个名称。
比如:Path p2ToP1 = p2.relativize(p1)
英文好的话就豁然开朗了,这个解释就很清晰。没错,p2.relativize(p1)的意思就是:p2到p1(p2 to p1)怎么走的意思。
如果你会windows的命令行,在小黑窗里这么敲,首先,定位到C:\False文件夹,然后敲命令行
cd ..\Users\Administrator
那么命令行的当前位置就是,先移到上级路径(…表示上级路径),C:\False的上级路径是C:\ 根目录,然后移到下级的Users文件夹,再移到下级的Administrator文件夹。
同样,p1.relativize(p2)的意思就是:p1 to p2,从p1路径到p2路径该怎么走?
你可以在cmd里,先定位到C:\Users\Administrator,然后敲下面命令
cd ..\..\False
即从Administrator文件夹移动到上级Users文件夹,再移动到上级C:\根目录下,再移到下级False文件夹。