温馨提示×

在java中如何捕获echo的输出结果

小樊
81
2024-09-20 18:22:16
栏目: 编程语言

在 Java 中,你可以使用 ProcessBuilderProcess 类来执行一个外部命令(如 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!”。然后我们启动进程,并获取其输出流。接下来,我们逐行读取输出结果,并将其打印到控制台。最后,我们等待进程执行完成,并打印退出代码。

0