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();
}
}
}