Java调用exe 自动输入命令
DEAP2.1软件是数据包络分析(DEA)软件.
小弟用Eclipse平台实现B/S架构,需要客户端通过调用服务器端deap.exe(下图)软件,在服务器端实现数据处理后,显示到客户端网页。
关键问题在:用java调用exe,并且自动输入命令。
调用exe可以用Process process=run.exec("ipconfig");,但是“输入命令”这个问题被难倒了,需要让服务器端自动输入命令(命令是123.ins加回车),从而运行软件得出结果。
下面是参照网上找的方法编的一份代码,希望有大神能提点一下,小弟java新手,不知道还有没有其他方法实现这个功能,比如webservices或者RMI,希望能详细点,十分感谢。
import java.io.*;
public class RunExe {
public static void main(String[] args) {
Runtime run=Runtime.getRuntime();
try{
Process process=run.exec("C:\\deap2.1\deap.exe");
InputStreamReader in=new InputStreamReader(process.getInputStream());
BufferedReader inBr=new BufferedReader(in);
OutputStreamWriter os = new OutputStreamWriter(process.getOutputStream());
BufferedWriter bw = new BufferedWriter(os);
String lineStr;
while((lineStr=inBr.readLine())!=null){
System.out.println(lineStr);
}
bw.write("123.ins");
//process.waitFor();
process.getInputStream().close();
process.getOutputStream().close();
inBr.close();
in.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}