import java.io.IOException;
public class ProcessBuilderEnvEx {
public static void main(String... args) {
try {
//创建线程构建器
var processBuilder = new ProcessBuilder();
//传入启动程序exe文件以及参数
//processBuilder.command("mstsc.exe", "/c", "dir");
processBuilder.command("Z:\\C_Program\\Test3\\a.exe");
var process = processBuilder.inheritIO().start();
int exitCode = process.waitFor();
System.out.printf("Program ended with exitCode %d", exitCode);
} catch (Exception e) {
System.out.println("Error");
}
}
}
在编写一个C程序
#include <stdio.h>
int main()
{
printf("Hello, World! \n");
getchar();
return 3;
}
编译为.exe文件
查看输出结果
Z:\Java_Program\Test1>javac -encoding utf-8 ProcessBuilderEnvEx.java
Z:\Java_Program\Test1>java ProcessBuilderEnvEx
Hello, World!
Program ended with exitCode 3
可以看到waitFor方法可以获取到创建出进程的程序运行结束的返回值