2017-04-14 68 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(); 
} 
相关问题