Linux 下 Java 中调用可执行程序:
基本步骤是(1)创建一个 Runtime 对象,获得运行时环境;(2)创建进程
这个程序直接将结果运用控制台进行输出:System.out.println(lineStr); 显然我们可以结果
需要注意的是,输入流部分十分关键,需要仔细编写,否则可能导致程序的不正确
此外在调用时需要注意可执行程序的路径,本例是将可执行程序 verifyta 放在当前路径下;
若可执行需要带参数,也要注意参数的路径,如:当参数在当前路径下时,可以如下:
p = rt.exec("./verifyta 2doors.xml 2doors.q");
package test.call;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Call {
public static void main(String[] args){
callExe();
}
public static void callExe(){
Runtime rt = Runtime.getRuntime();
Process p = null;
try{
p = rt.exec("./verifyta 2doors.xml 2doors.q");
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String lineStr;
while ((lineStr = br.readLine()) != null)
System.out.println(lineStr);
if (p.waitFor() != 0){
System.out.println("Error");
}
System.out.println(p.exitValue());
}catch(Exception e){
e.printStackTrace();
}
}
}