使用Paths.get可实现跨平台路径构建,通过分段传入目录名,系统自动适配分隔符;结合System.getProperty获取用户主目录或临时目录,支持相对与绝对路径写法,避免硬编码斜杠,确保兼容性。
在Java中使用 Paths.get 构建跨平台路径,关键在于避免硬编码路径分隔符(如 / 或 \),让系统自动选择合适的分隔方式。Java 7 引入的 java.nio.file.Paths 类能根据运行环境自动适配不同操作系统的路径格式。
Paths.get 接收多个字符串参数,每个参数代表路径的一级目录或文件名,它会自动用当前系统的分隔符连接这些部分。
例如:
在 Windows 上生成:folder\subfolder\file.txt
在 Linux/macOS 上生成:folder/subfolder/file.txt
结合 System.getProperty 获取标准路径前缀,再用 Paths.get 拼接,可进一步提升兼容性。
常见用法:
y("java.io.tmpdir"), "temp-file.tmp")
Paths.get 也能识别以根路径开头的写法,比如从盘符或根目录开始:
这样的写法依然能保证各平台正确解析。
基本上就这些。只要不直接写死斜杠,用 Paths.get 分段传参,就能写出真正跨平台的路径逻辑。