2017-04-14 52 views
0

我想從java程序中生成乾淨的Unix路徑樣式。Force FileSystem of Path

我以操縱以明確的方式路徑中使用java.nio.file.Paths,但它使用的File.separatorChar和所有其他系統相關的分隔符,這將是從機器的不同。

我正在尋找一種方法來確保我將具有UNIX路徑樣式,而不管程序在何處啓動。

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

在UNIX ENV預期輸出:

$> /home/user

在Windows 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(); 
} 
相關問題