在 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!”。然后我們啟動進程,并獲取其輸出流。接下來,我們逐行讀取輸出結果,并將其打印到控制臺。最后,我們等待進程執行完成,并打印退出代碼。