溫馨提示×

在java中如何捕獲echo的輸出結(jié)果

小樊
88
2024-09-20 18:22:16
欄目: 編程語言

在 Java 中,你可以使用 ProcessBuilderProcess 類來執(zhí)行一個外部命令(如 echo),并捕獲其輸出結(jié)果。以下是一個示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class EchoOutput {
    public static void main(String[] args) {
        try {
            // 創(chuàng)建一個 ProcessBuilder 對象,傳入要執(zhí)行的命令(echo)和參數(shù)(Hello, World!)
            ProcessBuilder processBuilder = new ProcessBuilder("echo", "Hello, World!");

            // 啟動進程
            Process process = processBuilder.start();

            // 獲取命令的輸出流
            InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            // 逐行讀取命令的輸出結(jié)果,并打印
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }

            // 等待進程執(zhí)行完成
            int exitCode = process.waitFor();
            System.out.println("Exit code: " + exitCode);

        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

這個示例中,我們創(chuàng)建了一個 ProcessBuilder 對象來執(zhí)行 echo 命令,并傳入了參數(shù) “Hello, World!”。然后我們啟動進程,并獲取其輸出流。接下來,我們逐行讀取輸出結(jié)果,并將其打印到控制臺。最后,我們等待進程執(zhí)行完成,并打印退出代碼。

0