Java 調用DOS命令,完成特定的任務
1. 核心類及函數
2.測試案例
import java.io.*;
import java.nio.charset.Charset;
/**
* java 調用Dos命令
* @author lyf3312
*
*/
public class ExecDosCommand {
/**
* 測試調用
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String cmd0 = "cmd cls";
// String cmd = "ping g.cn";
String cmd = "net stop mysql80";
String cmd1= "cmd /c appium";
String cmd2="taskkill /F /IM node.exe";
dosStartAndPrintResult(cmd);
Thread.sleep(5000);
// dosStartAndPrintResult(cmd1);
// Thread.sleep(3000);
// dosStartAndPrintResult(cmd2);
}
/**
* 傳入一個命令,執行dos命令並回顯
* @param cmd
*/
public static void dosStartAndPrintResult (String cmd){
try {
Runtime rt = Runtime.getRuntime(); // 獲取運行時系統
Process proc = rt.exec(cmd);//執行命令
//解決打印結果亂碼的問題,設置輸出編碼同控制檯編碼一致,爲GBK
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream(), Charset.forName("GBK")));
//回顯dos命令執行後的結果
String line = null;
while ((line = br.readLine()) != null) { // 打印出命令執行的結果
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}