【问题标题】:How to change the path so that it works with both Windows and Linux in java? [duplicate]如何更改路径以使其在 java 中同时适用于 Windows 和 Linux? [复制]
【发布时间】:2019-10-29 05:59:34
【问题描述】:

我有一个当前支持 Windows 的 Java 项目,即我在 property file , hibernate config file ,log4J file , jsp file (For eg : "C:/software/server/webapps/ROOT/WEB-INF/xxx/file.log") 等各个地方硬编码了 Windows C 驱动器路径。现在我想让相同的代码在 linux 上运行,但问题是文件路径到处都是硬编码的。如何使相同的代码同时适用于 Windows 和 Linux。我需要更改文件路径以使其工作。

【问题讨论】:

  • @Scary 如果你没有得到问题,我认为你不应该投票
  • 如果您有硬编码的路径文件名,那么您的代码是错误的。使用相对路径修复或考虑使用外部属性文件。顺便说一句,你是什么意思我不应该投票?我没有投票给任何东西。

标签: java linux windows


【解决方案1】:

这个问题已经被问过很多次了:

Path delimiter in windows and linux for java code

有一个变量可以使用:File.separator

系统相关的默认名称分隔符,为方便起见表示为字符串。该字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,该字段的值为 '/';在 Microsoft Windows 系统上,它是 '\'。

String workingPath = initPath + File.separator + tmpPath;

【讨论】:

  • 我不想在代码中做任何事情,我只想在硬编码文件中进行更改,以使代码需要最少更改。
猜你喜欢
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 2017-10-30
  • 2019-12-07
  • 1970-01-01
  • 2011-12-11
相关资源
最近更新 更多