背景
前一段时间项目需要在程序里面使用shell命令,就比较纠结,问我导师,导师给我说你可以去百度一下,Java是可以执行shell命令的。听到这个消息我就有点懵了,Java还可以执行Shell命令,有点强大啊!后来在网上搜了一些博文,看了看,还真的是可以的。
代码
public static String execShell(String shell) {
StringBuilder result = new StringBuilder();
Process process = null;
BufferedReader bufferedReaderInfo = null;
BufferedReader bufferedReaderError = null;
try {
// 执行shell命令,返回了一个进程
process = Runtime.getRuntime().exec(shell);
// 等待命令执行完成
process.waitFor();
// 获取结果,正常返回是第一个,错误返回是第二个,返回结果只能有一个,要么正常执行,要么执行错误
bufferedReaderInfo = new BufferedReader(new InputStreamReader(process.getInputStream()));
bufferedReaderError = new BufferedReader(new InputStreamReader(process.getErrorStream()));