阅读量:0
在 Java 中,你可以使用 ProcessBuilder
和 Process
类来执行一个外部命令(如 echo
),并捕获其输出结果。以下是一个示例:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class EchoOutput { public static void main(String[] args) { try { // 创建一个 ProcessBuilder 对象,传入要执行的命令(echo)和参数(Hello, World!) ProcessBuilder processBuilder = new ProcessBuilder("echo", "Hello, World!"); // 启动进程 Process process = processBuilder.start(); // 获取命令的输出流 InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream()); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // 逐行读取命令的输出结果,并打印 String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } // 等待进程执行完成 int exitCode = process.waitFor(); System.out.println("Exit code: " + exitCode); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
这个示例中,我们创建了一个 ProcessBuilder
对象来执行 echo
命令,并传入了参数 “Hello, World!”。然后我们启动进程,并获取其输出流。接下来,我们逐行读取输出结果,并将其打印到控制台。最后,我们等待进程执行完成,并打印退出代码。