【问题标题】:Path delimiter in windows and linux for java code用于java代码的windows和linux中的路径分隔符
【发布时间】:2017-10-30 04:58:15
【问题描述】:

在我的 java 代码中,我有一些硬编码路径,我已经写成

String workingPath = initPath + "\\" + tmpPath;

initPathtmpPathFile.getParent() 获得。现在,这适用于 Windows,如果我将代码移动到 linux,\\ 将有问题,因为其他两个是由系统方法确定的。结果是这样的

/home/mahmood/project/alpha\temp1

我该如何解决这个问题?我不想将 / 放在我的 linux 系统代码中。

【问题讨论】:

  • 您可以在 Windows 和 Linux 上使用/,另一种选择是使用File(File, String) 来构建您的路径。
  • @ElliottFrisch 您的评论是一个很好的解决方案,它应该是一个回答帖子。

标签: java windows filepath


【解决方案1】:

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

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

String workingPath = initPath + File.separator + tmpPath;

【讨论】:

    【解决方案2】:

    File 类有一个接受父目录的构造函数。如果使用它,则无需手动连接路径。

    final File parent = new File("/home/mahmood/project/alpha");
    final File tmp = new File(parent, "temp1");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多