【问题标题】:how do I make path names compatible with different OSs?如何使路径名与不同的操作系统兼容?
【发布时间】:2011-07-10 14:44:58
【问题描述】:

我曾经知道,但我知道在 java 中有一种方法可以确保路径在所有操作系统中都有效(Windows 使用与基于 Unix 的系统不同的“/”系统)。我必须做什么才能创建适用于所有系统的文件路径名?

编辑:我不确定这是否是我的意思,但我认为文件路径最终会是相对的。

另外,File.separator 和 File.pathSeparator 有什么区别?

【问题讨论】:

  • 你指的是斜线吗? Windows 中的驱动器号与 Linux/Unix 中的 / 相比如何
  • @Danish,也许 OP 只使用相对路径。

标签: java path relative-path


【解决方案1】:

您可以只使用/(正斜杠)作为路径分隔符。这将适用于跨平台。

【讨论】:

  • 除非您使用的是旧 Mac ;)
  • @Byron:确实如此。 Java 5 或 6 真的可以在 OS 9 上运行吗?
【解决方案2】:

File 有一个separator

【讨论】:

  • 这就是我想要的。谢谢
【解决方案3】:

为此,您必须使用 File.separatorFile.separatorChar
查看 File 类 javadoc 了解更多信息。

编辑: separatorpathSeparator 之间的区别。第一个分隔文件路径中的文件夹,如/usr/bin 中的/。第二个是path 环境变量中的分隔符,如PATH=C:/windows/bin;C:/anotherfolder 中的;

【讨论】:

  • File.separator 和 File.pathSeparator 有什么区别?
  • File.separator 是分隔文件路径部分的字符,例如C:\dos,其中字符为 \ 或 /home/user,其中字符为 /。 pathSeparator 是分隔PATH environment variable 各部分的字符,这又取决于您的代码运行的操作系统。基本上它是;:
  • 你仍然得到我的支持,但我的回答很好 :) 现在,如果我能让 Markdown 不再逃避我的反引号-反斜线-反引号,那我会很高兴的!
【解决方案4】:

我以前用过这个,但我不确定它的受欢迎程度。

System.getProperty("file.separator");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多