2017-04-14 3 views
0

Java 프로그램에서 깨끗한 Unix 경로 스타일을 생성하고 싶습니다.경로의 FileSystem을

명확한 방법으로 경로를 조작하기 위해 java.nio.file.Paths을 사용하고 있지만 File.separatorChar과 시스템마다 다른 모든 시스템 종속적 구분 기호가 사용됩니다.

프로그램 시작 위치에 관계없이 UNIX 경로 스타일을 유지할 수있는 방법을 찾고 있습니다.

예 : System.out.println(new Paths.get("/home/user/test.txt").getParent());

UNIX의 ENV에 예상 출력 :

$> /home/user

윈도우 ENV에

예상 출력 : $> /home/user

답변

1

Path

그것을 아주 쉽게, 그래서 Iterable를 구현 해라 :

public String toUnixPath(Path path) { 
    StringBuilder sb = new StringBuilder(path.isAbsolute() ? "/" : ""); 
    for (Path element : path) 
     sb.append(element).append('/'); 
    return sb.toString(); 
}