/**
* JavaExec.java version 1.0 Feb 22, 2010
*/
import java.lang.Runtime;
import java.lang.Process;
import java.io.InputStreamReader;
import java.lang.Exception;
import java.io.*;
public class JavaExec {
/**
* @param args
* @author Eric Yang
* @
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JavaExec javaExec = new JavaExec();
javaExec.testProcess();
}
public void testProcess()
{
try
{
String home="c:/process";
String command = "bfimport.bat -U yq -P qq -x bfimport_71.xml -p";
String[] cmd = new String[] { "cmd.exe", " ", "bfimport.bat" };
File dir = new File(home);
//Process process = Runtime.getRuntime().exec(command,null, dir);
Process process = Runtime.getRuntime().exec(command);
/*TestInputStream errorStream = new TestInputStream(process
.getErrorStream());
errorStream.start();*/
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
//int exitValue = process.waitFor();
//System.out.println("Return Value:" + exitValue);
process.getOutputStream().close();
}
catch(IOException e)
{
System.out.println("IOException ");
修改其中的command就可以了
上面的例子确实可以获得一些输出,但是有很多情况也无法获取,再参考很多实例之后,下面的例子最强大,几乎可以捕获所有类型的命令行输出。
/**
* JavaExec.java version 1.0 Feb 22, 2010
*/
import java.lang.Runtime;
import java.lang.Process;
import java.io.InputStreamReader;
import java.lang.Exception;