gpt4 book ai didi

java - 从 Windows 资源管理器启动的 jar 的默认工作目录是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:05 25 4
gpt4 key购买 nike

我已经为我的应用程序创建了一个 jar 文件,以便用户可以从 Windows 资源管理器运行它。它在自己的工作目录中加载一个 JSON 文件以进行某些设置(使用路径“.\config.json”)。但是,当我从 Windows 资源管理器的 jar 文件运行它时,它找不到配置文件,而从命令行运行相同的 jar 则可以。我假设这是因为资源管理器将工作目录设置为 jar 文件夹以外的目录。它设置了什么? (我怎样才能找到 jar 自己的文件夹?)

最佳答案

为什么不尝试打印出 System.getProperty("user.dir");并找出应用程序的想法?

user.dir    User's current working directory

使用以下命令获取.jar 加载位置的PARENT,这听起来像是您想要的

import java.io.*;

public class Main
{
public static void main(final String[] args) throws IOException
{
final File file = new File(".");
System.out.println("file = " + file.getAbsoluteFile().getParent());
}
}

当我从命令行运行它或从 Windows 资源管理器双击时的输出是:

file = c:\Users\Jarrod Roberson\Projects\SwingJarFinder

关于java - 从 Windows 资源管理器启动的 jar 的默认工作目录是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188408/

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