获取绝对的java.nio.Path

Gau*_*mar 3 java file java-8

有没有办法获得绝对的java.nio.Path?我有一个相对路径path3Path path3 = path1.relativize(path2); 我想要再次path2获取path1path3.

path1.resolve(path3)回来path2吗?

例如path1.resolve(path3):
如果路径1C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web
path3时,..\..\..\..\Pictures\BxqfOHfIIAApI.png
那么路径2包含C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web\..\..\..\..\Pictures\BxqfOHfIIAApI.png

如何获得path2之类的C:\Users\ABC\Pictures\BxqfOHfIIAApI.png

Mis*_*sha 5

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"
Run Code Online (Sandbox Code Playgroud)

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