可能是因为这个方法看起来没什么用,所以网上对该方法的描述有些草率,甚至觉得有点失望了。
我来记录一下吧。以便大家日后参考。
有两个Path对象,我们称之为p1和p2
Path p1 = Paths.get("C:\\Users\\Administrator");
Path p2 = Paths.get("C:\\False");
这两个Path对象的生成非常简单,直接路径一目了然。
好,往下走,我们来看看relativize会起到什么作用。
System.out.println(p2.relativize(p1));
System.out.println(p1.relativize(p2));
会有如下显示:
..\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文件夹,