有一篇总结的很不错的文章:
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=3
有两种方法可以解决这个问题:
1.采用apache common exec
2.采用多线程
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec(
"E:\\test\\dbbackup.cmd");
new MyThread(process.getErrorStream()).start();
new MyThread(process.getInputStream()).start();
int status = process.waitFor();
if (status == 0) {
System.out.println("exit success");
} else {
System.out.println("exit fail");
}
} catch (Exception e) {
System.out.println("exception occurs......");
e.printStackTrace();
}
}
public class MyThread extends Thread{
BufferedReader bf;
public MyThread(InputStream input){
bf=new BufferedReader(new InputStreamReader(input));
}
public void run(){
String line;
try {
line = bf.readLine();
while(line!=null){
System.out.println(line);
line=bf.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}