【问题标题】:Java absolute path - Mac OS X - WindowsJava 绝对路径 - Mac OS X - Windows
【发布时间】:2016-04-11 17:16:23
【问题描述】:

我即将发布一个 java 应用程序,但我有一个小问题:我已经通过 eclipse 在 Mac OS X 上完全开发了该应用程序,我使用绝对路径来引用放置在的目录:

"/Users/Name/Documents/folder"

我使用System.getProperty"os.name" 来确定我当前是否在 Mac 上运行,如果是,我将使用该文件夹,否则我将使用另一个文件夹示例:C:\Users\Name\Documents\folder

问题是:我必须在这个字符串后面附加一个可能包含其他子文件夹的名称。我知道在 Mac 上分隔文件夹我使用 "/" 和 Windows "\"。我该如何解决这个问题?有什么建议吗?

【问题讨论】:

  • 首先使用System.getProperty("user.home")获取用户的主目录。如果你使用File,你可以一直使用/,Windows 不在乎,但基于 Linux 的操作系统可以。你也可以使用File.separator,我相信它使用System.getProperty("file.separator"),并且尽可能不要硬编码它们;)
  • so on windows 将同时工作 "C:/Users/...." 和 "C:\Users\...." ?
  • @Levenlol 是的。只有 windows 命令行坚持使用反斜杠。
  • @Levenlol 说到点子上了。如果您使用File,它会将/ 转换为` automatically. If you use getAbsolutePath` 或getCanonicalPath 我相信它们也会被翻译,因此您可以保存它们或在需要时将它们传递给外部进程

标签: java windows macos jar executable-jar


【解决方案1】:

您可以使用以下分隔符:

System.getProperty("file.separator")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-10
    • 2011-04-04
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多