我在运行时使用 ProcessBuilder 在其他 jar 中运行 jar 文件时遇到问题,问题是,我只得到流输出的一部分,这里是我的代码的一部分
String[] command = { "java","-cp",fileJar.getAbsolutePath(),
"a.b.c.Class","-x",fileGram.getAbsolutePath(),
"-o",GIFdir.getAbsolutePath(),"/","-d","xzf","-ver"};
ProcessBuilder probuilder = new ProcessBuilder( command );
pbaw = probuilder.start();
try {
String line;
BufferedReader input = new BufferedReader(new
InputStreamReader(pbaw.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
pbaw.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
在 commad 中,我的意思是,从 jar 应用程序内的 fileJar 运行 abcClass,并使用以下选项:-x、jar 应用程序内的 fileGram、-o、GIFdir 目录、-d、xyz、-v。我在命令控制台中得到完整的输出,但在 jar 应用程序中使用进程构建器时只有部分输出,为什么会发生这种情况,请帮助我!!!