java - Java 系统独立的根目录路径
问题描述
在 Windows 系统中,我的路径是这样的:
C:/example/
在 Linux 系统中,我的路径是这样的:
/example/
是否有一些实用功能可以在两个系统中使用单个字符串?
解决方案
Windows 将接受正斜杠作为目录分隔符,并添加当前驱动器,默认为系统驱动器,通常为C:
. 所以路径/example/
通常等同C:\example\
于 Windows 并且是跨平台的。
但是,通常,完整绝对路径的基础在两个平台上会有所不同,因此您不能像这样硬编码绝对路径。您通常会以某种方式提出路径的基础,从而产生平台独有的东西,然后您将使用 Unix 风格的相对路径来指示从那里开始的遍历。这方面的一个例子是当前用户的主目录。如果您知道该data
目录存在于当前用户的家中,那么您可以使用这个跨平台代码:
字符串路径 = System.getProperty("user.home") + "/data"
还有其他方法可以获取您将添加 Unix 样式相对路径的基本路径。基本路径通常来自配置文件或一些 Java 标准库调用,类似于getProperty()
上面的使用。和上面的例子一样,通常会在该基本路径中添加一个 Unix 风格的相对路径,以指定您感兴趣的目录或文件的位置。
推荐阅读
- spring - 如何使用 Spring Data 进行分页?
- c# - 如何将两个文本框值相乘并在 C# 中显示第三个的答案?
- azure - 错误 ID:VertexFailedFast,错误消息:Vertex 因快速失败错误而失败
- javascript - 我想通过选择类来获取数据并使用 jquery 在控制台中打印它
- intellij-idea - 在 Intellij IDEA 中,如何更改“消息:构建”字体?
- android - UpdateUI - 无法解决方法
- javascript - Codeigniter 中 Javascript 中的 NaN 错误
- docker - Dockerized Nginx 将不同的子域重定向到同一页面
- regex - 从日志的一行中检索多个字符串
- react-native - 如何解决 Jest + React Native 报错 ReferenceError?