gpt4 book ai didi

Java打开的应用程序找不到目录

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

我有两个不同的 python 可执行程序,它们在其应用程序中引用图片或 .txt 文件。当我按原样打开它们时,它们工作得很好。我有一个在 Java 中使用的主程序,通过单击执行以下操作的按钮来打开应用程序:

    final String filePath = appList.get(1).get(3);//a string of the file directory
try {
Runtime.getRuntime().exec(filePath);
} catch (IOException e) {
System.err.println("Caught IOException: " + e.getMessage());
}

当我从此主程序启动程序时,即使目录保持不变,它也无法再找到这些文件。唯一发生变化的事情是我从 java 程序启动应用程序,而不是仅仅单击应用程序本身。有人知道该怎么办吗?

编辑:我正在尝试:

    String fileDir = appList.get(2).get(3).substring(0,appList.get(2).get(3).lastIndexOf("\\"))+"\\";
Process p = null;
ProcessBuilder pb = new ProcessBuilder(lastWord);
pb.directory(new File(fileDir));
p = pb.start();

但是系统找不到指定的文件

最佳答案

使用 ProcessBuilder对于您通过第三个 Java 应用程序启动的每个应用程序。对于每个应用程序,适本地设置工作目录(目标应用程序的根目录)。我怀疑您从第三个程序启动的两个应用程序的工作目录正在使用第三个程序的工作目录作为自己的工作目录。下面是如何使用 ProcessBuilder 的示例。

How to set working directory with ProcessBuilder

您可以查看这篇文章以查找应用程序的当前工作目录是什么:Getting the Current Working Directory in Java .

关于Java打开的应用程序找不到目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23697402/

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