首頁  >  文章  >  Java  >  如何在 Java 中執行系統命令並捕獲其輸出?

如何在 Java 中執行系統命令並捕獲其輸出?

Patricia Arquette
Patricia Arquette原創
2024-10-31 00:03:29291瀏覽

How to Execute System Commands in Java and Capture their Output?

在 Java 中執行系統指令

在 Java 中執行系統指令提供了一種與底層作業系統互動的強大方法。這在將 Java 應用程式與外部工具整合或執行系統級任務時特別有用。

在 Java 中執行系統命令的有效方法之一是透過 Runtime.exec() 方法,該方法可讓您啟動單獨的執行命令的過程。若要擷取指令的輸出,您可以使用 InputStreamReader 和 BufferedReader 來讀取標準輸出流。

這是一個最佳化範例,示範如何執行「uname -a」指令並將其輸出儲存在a String:

<code class="java">Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
StringBuilder output = new StringBuilder();

while ((line = b.readLine()) != null) {
  output.append(line);
}

b.close();

System.out.println(output.toString());</code>

這段程式碼先取得Runtime 對象,並呼叫exec () 方法來執行「uname -a」指令。 p.waitFor() 呼叫等待進程完成執行。接下來,它會建立一個 BufferedReader 來從進程的標準輸出中讀取行。每行都附加到 StringBuilder 以累積整個輸出。最後,關閉 BufferedReader,並以字串形式檢索累積的輸出。

透過利用此方法,您可以在 Java 應用程式中無縫執行系統命令,並從程式碼中利用系統工具的強大功能。

以上是如何在 Java 中執行系統命令並捕獲其輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn