path1.resolve(path2)返回path2甚至path​​2.isAbsolute()= false且path2不为空

时间:2017-05-25 16:52:31

标签: java windows nio nio2

给出以下代码

    Path p1 = Paths.get("\\photos\\vacation");
    Path p2 = Paths.get("\\yellowstone");
    System.out.println(p1.isAbsolute());  // false
    System.out.println(p2.isAbsolute());  // false
    System.out.println(p1.resolve(p2));  // \yellowstone

JavaDoc说:

  

public abstract Path resolve(Path other)

     

根据此路径解析给定路径。

     

如果另一个参数是绝对路径,则此方法通常会返回其他

     

如果other是一个空路径,那么这个方法通常会返回这个   路径。

     

否则此方法将此路径视为目录和   解析此路径的给定路径。在最简单的情况下,   给定路径没有根组件,在这种情况下这个方法   将给定路径连接到此路径并返回结果路径   以给定的路径结束。给定路径具有根组件的位置   然后,分辨率高度依赖于实现   未指定的。

在Windows上运行路径不是绝对的,但结果仍会返回p2;我无法理解这种行为。我缺少什么?

0 个答案:

没有答案