我正在开发同时在Mac和Windows上开发的应用程序。我们正在生成一些文件路径,并希望所有生成的路径都具有正斜杠的UNIX风格。在Windows计算机上调用Paths.get(...)
会产生带有反斜杠的路径,但是我希望它产生带有正斜杠的路径。
我找不到有关“设置”或指定要使用的路径分隔符的文档。
答案 0 :(得分:3)
我也在一段时间前也尝试找到它,但这是不可能的。这是Paths.get(...)
java.nio.file.FileSystems#getDefault
返回静态最终字段
static final FileSystem defaultFileSystem = defaultFileSystem();
和java.nio.file.FileSystems.DefaultFileSystemHolder#defaultFileSystem
检测到您的文件系统。
但是在FileSystem
实例中,斜杠的类型是硬编码的:
https://github.com/frohoff/jdk8u-jdk/blob/master/src/windows/classes/sun/nio/fs/WindowsFileSystem.java#L249
所以我认为对您来说最简单的方法是使用类似https://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html