【问题标题】:Wrong directory when executable jar launch by shortcut通过快捷方式启动可执行jar时的目录错误
【发布时间】:2014-05-31 07:12:18
【问题描述】:

我通过这种方法创建了一些配置文件:

字符串路径 = System.getProperty("user.dir" );

writer = new PrintWriter(path+"/configTAB2.txt", "UTF-8");

writer.print("100000000000000000000000000001000000000000001000010000000");

writer.close();

或者这个方法

writer = new PrintWriter("./configTAB2.txt", "UTF-8");

writer.print("100000000000000000000000000001000000000000001000010000000");

writer.close();

我真正的问题是我通过双击直接启动 jar 文件是在与我的 .jar 相同的目录中创建的,但是当我在桌面上创建快捷方式时,文件是在桌面上创建的(不在同一目录中比我的.jar)

你有什么解释吗?

【问题讨论】:

  • 为什么不使用System.getProperty("user.home");。无论您从哪里启动 jar ,它都只会检查一个路径
  • 是的,为什么不呢,这可能是一个解决方案。但我希望所有文件都与安装目录位于同一目录中。例如 U 盘或其他。

标签: java jar directory shortcut


【解决方案1】:

System.getProperty("user.dir"); 属性返回当前工作目录

user.dir 用户当前工作目录

因此,您会从我们启动应用程序的位置获得不同的路径。

我会使用System.getProperty("user.home") 来固定路径(又名C:\Users\xxxx)。

【讨论】:

  • 是的,但是当我使用桌面上的快捷方式或直接双击文档中的文件时,工作目录无法更改。这真的是我的问题,我不明白它为什么会改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 2023-04-02
相关资源
最近更新 更多