简要说明
在项目中,若有需要调用C端的exe程序时,最好是使用ProcessBuilder,而不是Runtime.getRuntime().exec(),因为Runtime的exec() 方法,一是无法设置工作目录,二是在处理exe程序需要的参数时,可能会因为空格或者某些问题,导致调用失败
maven依赖
无,jdk底层包
样例代码
public static void main(String[] args) throws IOException {
ProcessBuilder processBuilder = new ProcessBuilder(exePath, params1, params2);
Process process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
while ((line = errorReader.readLine()) != null) {
System.err.println(line);
}
}