当前位置: 代码迷 >> 综合 >> java模拟执行终端命令,并打印包含指定字符的内容(适用于win、mac、linux)
  详细解决方案

java模拟执行终端命令,并打印包含指定字符的内容(适用于win、mac、linux)

热度:64   发布时间:2024-02-07 21:27:02.0
    //执行命令并打印包含指定字符的内容(适用于win、mac、linux)public static void cmd(String cmd, String grepString) throws IOException {String line;BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(cmd).getInputStream(), StandardCharsets.UTF_8));while ((line = bufferedReader.readLine()) != null) {if (grepString.equals("")) {System.out.println(line);} else {//有需要过滤的字符串if (line.contains(grepString)) {System.out.println(line);}}}bufferedReader.close();}//执行命令并返回结果public static String cmdReturn(String cmd, String grepString) throws IOException {StringBuilder sb = new StringBuilder();String line;BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(cmd).getInputStream(), StandardCharsets.UTF_8));while ((line = bufferedReader.readLine()) != null) {if (grepString.equals("")) {sb.append(line).append("\n");} else {//有需要过滤的字符串if (line.contains(grepString)) {sb.append(line).append("\n");}}}bufferedReader.close();return String.valueOf(sb);}