如何选择 Java 将使用的文件分隔符



我想从用Java实现的文本生成器生成干净的路径。

我正在使用 java.nio.file.Pathsjava.io.File 以便以清晰的方式构建路径,但他们使用 File.separatorChar ,即系统依赖为只读,使我的生成器的输出依赖于执行它的机器!

怎样才能要求我的路径以我选择的样式打印?例如,总是以Unix的方式打印路径?

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

UNIX 环境上的预期输出:

$> /home/user

Windows 环境上的预期输出:

$> /home/user

Path实现Iterable,所以很容易做到:

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

最新更新