gpt4 book ai didi

java - 基于 Unix 的系统上的 File.separator

转载 作者:行者123 更新时间:2023-12-01 04:12:01 25 4
gpt4 key购买 nike

我开发了一个桌面应用程序,它执行一些文件写入和读取操作。为了获取文件路径,我使用了以下代码:

static final String workingDir = System.getProperty("user.dir");

public static final String resourcesPath =
workingDir + File.separator + "src" + File.separator;

在Windows变量resourcesPath包含C:\app\src\但是当我在基于unix的系统上执行应用程序时,它返回我/home/eboss\src\.

在基于unix的系统中/home/eboss是来自System.getProperty("user.dir");的路径,这是正确的,但是当我与连接时>File.separator 它用 \ 附加路径。结果我得到(没有这样的文件或目录)错误。

为什么基于 UNIX 的系统返回错误的路径?

最佳答案

听起来您用来在 Unix 上运行此程序的 JVM 有问题。

前提是:

  • 您正在使用正确的 JVM,例如来自 Sun/Oracle 的 JVM,并且

  • 您不会使用 Windows JVM 中的文件覆盖 JVM 的 jar 文件

...该代码将正常工作。您需要重新安装 JVM 并确保不会覆盖任何 JVM jar。

(我无法让我的 Linux JVM 使用 Windows rt.jar [包含 File.class 的那个],但我不会100% 保证这是不可能的。当我尝试时,我能做的最好的事情就是让我的 JVM 拒绝初始化。)

关于java - 基于 Unix 的系统上的 File.separator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19831273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com