java - 在 Java 中运行外部程序

标签 java process external

我希望我的 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;

        }   

如果程序1没有产生输出,文件程序不存在,程序2无法开始执行...我的错误在哪里...代码不起作用...

最佳答案

您需要等待启动的进程完成。您可以阻止当前执行线程,直到进程完成

process.waitFor()

关于java - 在 Java 中运行外部程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427487/

相关文章:

java - 当用户点击外部时,警报对话框消失

ios - ios下是否可以在应用程序中嵌入外部应用程序或UIView和UIViewController

image - 如何在 Magento2 中为产品图片使用外部 url

java - 使用 hibernate createSQLQuery 方法将 map 存储在列表中

java - 当值改变时启动后台任务java

java - PBEWithHmacSHA512AndAES_128 和 AES 模式(如 GCM)

windows - Python 多处理标准输入

linux - 监控进程

c# - 与流程一起打印输出

php - 外部 PHP 以 HTML 格式发布数据