如何在java中执行cmd命令呢,下面是示例代码:
private void executeCmdText(String cmdText) {
try {
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(cmdText);
readInputStream(process.getErrorStream());
readInputStream(process.getInputStream());
int exitVal = process.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch(Exception ex) {
ex.printStackTrace();
}
}
private void readInputStream(InputStream is) throws IOException {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null) {
System.out.println(line);
}
}
这里要注意的是:
永远要在调用waitFor方法之前读取数据流。
永远要先从标准错误流读取,再从标准输出流读取。(cmd的标准输出流就是java的标准输入流process.getInputStream())