首頁 > Java > java教程 > 如何使用 Java 的 Runtime.getRuntime() 擷取並列印命令列程式的輸出?

如何使用 Java 的 Runtime.getRuntime() 擷取並列印命令列程式的輸出?

Patricia Arquette
發布: 2024-12-21 07:38:09
原創
917 人瀏覽過

How Can I Capture and Print Output from Command Line Programs Using Java's Runtime.getRuntime()?

使用Java Runtime.getRuntime() 從命令列程式取得輸出

利用Java 的Runtime.getRuntime() 從程式中執行命令提示字元命令時,您可能會遇到捕獲命令返回的輸出的困難。讓我們深入研究這個問題,並發現如何使用可靠的方法來檢索和列印所需的輸出。

在您的方法中,嘗試使用 System.out.println() 列印 Process 物件 proc 將不會產生任何有意義的結果結果。相反,您需要將 InputStream 從執行的命令傳輸到 BufferedReader 來存取並隨後列印輸出。

這是一個更新且功能齊全的程式碼片段:

Runtime rt = Runtime.getRuntime();
String[] commands = {"system.exe", "-get t"};
Process proc = rt.exec(commands);

BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

// 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);
}

// Read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
    System.out.println(s);
}
登入後複製

透過利用 BufferedReader ,您可以迭代讀取輸出行並將其顯示在程式中。這種方法提供了一種乾淨而有效的方法來處理標準輸出和執行命令中的潛在錯誤。

請參閱 Runtime.getRuntime() 的官方 Javadoc 以獲取全面的文檔和對 ProcessBuilder 等其他選項的見解,提供對流程處理的高級控制。

以上是如何使用 Java 的 Runtime.getRuntime() 擷取並列印命令列程式的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板