场景
师姐让我帮他写个接口,调用一个工具,在本地的Windows上输入CMD命令,调用起来。
流程
目前我的项目使用的是Spring Boot项目,写一个接口,然后用Controller来调用它。
1、首先安装工具的环境。
2、测试不用Spring Boot项目,单纯用cmd命令能否调用工具。
3、在Spring Boot上加入代码,进行测试。
代码
@Bean
public static void ToLMM() {
try {
// 调用CMD命令
ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "这里放你要调用的CMD命令"); // /c参数表示执行后关闭CMD窗口
processBuilder.redirectErrorStream(true); // 将错误输出流与标准输出流合并
Process process = processBuilder.start();
// 获取命令输出结果
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "GBK")); // 设置编码为GBK
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}