在 Java 程式中,您嘗試使用 Runtime.exec( ) 方法。雖然它不會產生錯誤,但該程式似乎無效。
提供的程式碼利用 Runtime.exec(params) 方法來啟動外部程式。但是,此方法在處理 Java 程式和外部程序之間的輸入和輸出資料方面有其限制。
要有效地與外部程式互動並檢索其輸出,您可以使用 ProcessBuilder 類別。以下是一個範例,示範如何使用特定參數執行「program.exe」程式:
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);
}
在此程式碼中,我們使用所需參數來建立一個 ProcessBuilder 實例。 start()方法用於啟動外部程式。然後,我們使用 InputStream 讀取程式的輸出,使用 InputStreamReader 將其轉換為字符,最後將其儲存在 BufferedReader 中,以便於逐行處理。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3