我希望我的Java Programm 3外部程序运行。但它们应该并行运行。程序1应该输出一个文件,这个文件是程序2的输入,程序2的输出应该是程序3的输入。当外部程序终止时,Java程序不应该终止:这是我的代码,但它确实不行。任何人都可以帮助我!
boolean var = true;
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c",
"start", "C:\\Users\\Rosina\\Desktop\\Riss\\winlibs\\riss3g64", "C:\\Users\\Rosina\\Desktop\\out.cnf", "C:\\Users\\Rosina\\Desktop\\pruv.txt" );
Process process = processBuilder.start();
while(program.exists() && var) {
ProcessBuilder processBuilder3 = new ProcessBuilder("cmd", "/c",
"start", "C:\\Users\\Rosina\\Desktop\\Riss\\winlibs\\riss3g64", "C:\\Users\\Rosina\\Desktop\\out1.cnf", "C:\\Users\\Rosina\\Desktop\\hahaaaaaaaaaaaaaaafffa2.txt" );
Process process2 = processBuilder3.start();
var = false;
}
如果Programm 1没有产生输出,则文件程序不存在,并且Programm 2无法开始执行......我的错误在哪里......代码不起作用......
答案 0 :(得分:1)
您需要等待启动的流程才能完成。您可以阻止当前执行的线程,直到进程完成
process.waitFor()