在 Java 中更改当前工作目录

Change the Current Working Directory in Java

我有一个 eclipse rcp 应用程序,我通过在调试配置的参数选项卡中设置工作目录来启动它。

同时我需要在应用程序启动时更改当前工作目录。

我尝试了以下选项:System.setProperty("user.dir", this.strDestination);

但是如果我们使用相对文件路径它就不起作用,因为它指的是旧的工作目录。在这方面唯一有效的解决方案是使用 getAbsoluteFile 或 getAbsolutePath(这不是一个可行的选项,因为在许多位置使用了相对路径)。

非常感谢这方面的任何方法。

我很确定您不能修改当前进程的工作目录。相反,您可以使用 File(String, String) 构造函数,它 从父路径名字符串和子路径名字符串创建新的 File 实例。

你的this.strDestination变量是绝对路径吗?
根据 this answer,您应该在 System.setProperty 中使用绝对路径以使 "user.dir" 更改生效。

注意:我没有足够的代表来添加评论。因此添加为答案。