2014-10-30 4 views
2

절대적인 java.nio.Path를 얻을 수있는 방법이 있습니까? 상대 경로가 있습니다 path3Path path3 = path1.relativize(path2); path2path1path3에서 다시 가져오고 싶습니다.절대 값 얻기 java.nio.Path

path1.resolve(path3) 반환 path2? path1.resolve(path3) 예를 들어

: 경로 1이 C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web
경로 3입니다
경우는 ..\..\..\..\Pictures\BxqfOHfIIAApI.png
다음 는 경로 2 방법 경로 2를 얻을 수

C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web\..\..\..\..\Pictures\BxqfOHfIIAApI.png이 포함되어있다C:\Users\ABC\Pictures\BxqfOHfIIAApI.png

같은

답변

4

path1.resolve(path3)은 경로 2와 같지만 같을 필요는 없습니다. 대신 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" 

편집 : 정상화하여 편집에 추가 정보를 바탕으로 ()는 당신이 원하는 것을 정확히이다.