概要
整体架构流程
技术名词解释
技术细节
使用Runtime
public void testRuntime() throws IOException{
//获取Runtime 对象
Runtime runtime = Runtime.getRuntime();
//在cmd中运行ping www.baidu.com并获取进程
Process process = runtime.exec("ping www.baidu.com");
//获取该进程输入流
InputStream inputStream = process.getInputStream();
//设置编码格式,并转换为字符串
String res = IOUtils.toString(inputStream, "gbk");
//输出该字符串
System.out.println(res);
inputStream.close();
}
使用ProcessBuilder
@Test
public void testProcessBuilder() throws IOException {
//创建ProcessBuilder对象
ProcessBuilder processBuilder =new ProcessBuilder();
//设置执行的第三方程序(命令),在ProcessBuilder中空格用逗号间隔
processBuilder.command("ping","www.baidu.com");
//将标准输入流和错误输入流合并,通过标准输入流读取信息就可以拿到第三方程序输出的错误信息、正常信息
processBuilder.redirectErrorStream(true);
//启动一个进程
Process process = processBuilder.start();
//由于前边将错误和正常信息合并在输入流,只读取输入流
InputStream inputStream = process.getInputStream();
String res = IOUtils.toString(inputStream, "gbk");
System.out.println(res);
inputStream.close();
}