Java库
在Java中,可以通过
Runtime类
或ProcessBuilder类
来实现调用外部程序。
Runtime类与ProcessBuilder类
使用Runtime类:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("外部程序路径");
复制代码
使用ProcessBuilder类:
ProcessBuilder builder = new ProcessBuilder("外部程序路径");
Process process = builder.start();
复制代码
参数传递
以上两种方法均可启动一个外部进程。如果需要向外部进程传递参数,可以在exec() 或ProcessBuilder构造函数中传递字符串数组
String[] cmdarray = {"外部程序路径", "参数1", "参数2"};
Process process = runtime.exec(cmdarray);
复制代码
执行结果
外部进程的返回结果可以通过process对象获取。可以使用getInputStream() 方法读取外部进程的标准输出流,或者使用getErrorStream() 方法读取错误输出流。
InputStream inputStream = process.getInputStream(); // 标准输出流
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line); // 输出每行结果
}
复制代码
注意
:在调用外部程序时一定要小心,因为它可能会引起安全问题和系统崩溃等异常情况。建议使用该功能时对外部程序进行充分的测试和验证