在我的 java 应用程序中,我使用 ProcessBuilder 打开了一个 exe,并且该 exe 生成了一些内容,该 exe 需要一些文件,我将它们放在我的 jar 根目录中,但是当我双击运行 jar 时,出现文件不存在错误,但是当我从终端运行应用程序时,一切都成功。
顺便说一下,双击 getProperty("user.dir") 会获取错误路径,但从终端获取正确路径。
源代码:
String exeCommand = "pathtoexe";
String[] arguments= new String[] { exeCommand,
"arg1", "arg2","arg3" };
ProcessBuilder proc=new ProcessBuilder(arguments).start();
InputStream out = proc.getInputStream();
BufferedReader input = new BufferedReader(
new InputStreamReader(out));
boolean isSuccess = false;
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
if (line.contains("OK")) {
isSuccess = true;
break;
}
}