需要把缓冲区的流读完
一个是InputStream还有一个是ErrorStream
process = runtime.exec(cmd);
is1= process.getInputStream();
is2= process.getErrorStream();
new Thread(){
@Override
public void run() {
BufferedReader bi=null;
String line;
try {
bi=new BufferedReader(new InputStreamReader(is1));;
while ((line= bi.readLine())!=null){
// System.out.println(line);
}
}catch (IOException e){
e.printStackTrace();
}finally {
if (bi!=null){
try {
bi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}.start();
new Thread(){
@Override
public void run() {
BufferedReader bi=null;
String line;
try {
bi=new BufferedReader(new InputStreamReader(is2));;
while ((line= bi.readLine())!=null){
// System.out.println(line);
}
}catch (IOException e){
e.printStackTrace();
}finally {
if (bi!=null){
try {
bi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}.start();
process.waitFor();