首頁  >  文章  >  Java  >  如何在 Java 中有效地執行外部程式並檢索其輸出?

如何在 Java 中有效地執行外部程式並檢索其輸出?

Patricia Arquette
Patricia Arquette原創
2024-10-31 04:28:30406瀏覽

How can I effectively execute external programs and retrieve their output in Java?

在 Java 中執行外部程式

在 Java 程式中,您嘗試使用 Runtime.exec( ) 方法。雖然它不會產生錯誤,但該程式似乎無效。

提供的程式碼利用 Runtime.exec(params) 方法來啟動外部程式。但是,此方法在處理 Java 程式和外部程序之間的輸入和輸出資料方面有其限制。

要有效地與外部程式互動並檢索其輸出,您可以使用 ProcessBuilder 類別。下面的範例示範如何使用特定參數執行「program.exe」程式:

<code class="java">ProcessBuilder processBuilder = new ProcessBuilder("C:\Users\user\Desktop\program.exe",
        "C:\Users\user\Desktop\images.jpg", "C:\Users\user\Desktop\images2.txt");
Process process = processBuilder.start();

InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line;
System.out.println("Output of running program.exe with parameters:");

while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}</code>

在此程式碼中,我們使用所需參數建立一個 ProcessBuilder 實例。 start()方法用於啟動外部程式。然後,我們使用 InputStream 讀取程式的輸出,使用 InputStreamReader 將其轉換為字符,最後將其儲存在 BufferedReader 中,以便於逐行處理。

以上是如何在 Java 中有效地執行外部程式並檢索其輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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