有没有办法获取绝对java.nio.Path?
我有一个从path3检索的相对路径Path path3 = path1.relativize(path2);我想再次从path2path1获得path3
path1.resolve(path3)会返回path2吗?

例如 path1.resolve(path3) :
如果 path1 C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web并且 path3 ..\..\..\..\Pictures\BxqfOHfIIAApI.png然后 path2 包含C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web\..\..\..\..\Pictures\BxqfOHfIIAApI.png
如何像C:\Users\ABC\Pictures\BxqfOHfIIAApI.png一样获得 path2

最佳答案

path1.resolve(path3)将为您提供一条等效但不一定等于path2的路径。您可能需要改做path1.resolve(path3).normalize()

path1 = Paths.get("/var");
path2 = Paths.get("/tmp");

path3 = path1.relativize(path2);  // path3 is "../tmp"
path4 = path1.resolve(path3);     // path4 is "/var/../tmp"

path5 = path4.normalize();        // path5 is "/tmp"

编辑:
根据您编辑中的其他信息,normalize()正是您想要的。

07-25 23:27