Java Runtime.getRuntime() 允許從 Java 程式執行命令列程式。它的 exec() 方法接受一個命令參數數組並傳回一個 Process 物件。然而,從命令獲取輸出是完全不同的任務。
為了檢索指令輸出,Process 物件分別透過 getInputStream() 和 getErrorStream() 提供輸入和錯誤流。這是獲取並列印輸出的程式碼的增強版本:
Runtime rt = Runtime.getRuntime(); String[] commands = {"system.exe", "-get t"}; Process proc = rt.exec(commands); BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); // Read the output from the command System.out.println("Here is the standard output of the command:\n"); String s = null; while ((s = stdInput.readLine()) != null) { System.out.println(s); }
透過從輸入流讀取,您可以存取並列印命令的輸出。請注意,您在命令執行過程中可能會遇到錯誤,因此建議也使用 getErrorStream() 檢查錯誤流。
有關更多詳細信息,請參閱 Process API 文件。或者,考慮使用 ProcessBuilder 類別來更好地控制流程配置。
以上是如何使用 Java 的 Runtime.getRuntime() 擷取並顯示命令輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!