在 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中文網其他相關文章!