Wenn Sie Javas Runtime.getRuntime() verwenden, um Eingabeaufforderungsbefehle aus Ihrem Programm auszuführen, könnten Sie dies tun auf die Schwierigkeit stoßen, die Ausgabe zu erfassen, die der Befehl zurückgibt. Lassen Sie uns das Problem untersuchen und herausfinden, wie Sie die gewünschte Ausgabe mit einer robusten Methode abrufen und drucken können.
In Ihrem Ansatz würde der Versuch, den Process-Objektproc mit System.out.println() zu drucken, keine aussagekräftigen Ergebnisse liefern Ergebnisse. Stattdessen müssen Sie den InputStream vom ausgeführten Befehl an einen BufferedReader weiterleiten, um auf die Ausgabe zuzugreifen und diese anschließend zu drucken.
Hier ist ein aktualisierter und voll funktionsfähiger Codeausschnitt:
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); }
Durch die Verwendung von BufferedReader können Sie die Ausgabezeilen iterativ lesen und in Ihrem Programm anzeigen. Dieser Ansatz bietet eine saubere und effiziente Möglichkeit, sowohl die Standardausgabe als auch potenzielle Fehler des ausgeführten Befehls zu verarbeiten.
Eine umfassende Dokumentation und Einblicke in zusätzliche Optionen wie ProcessBuilder finden Sie im offiziellen Javadoc für Runtime.getRuntime() bietet erweiterte Kontrolle über die Prozessabwicklung.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von Befehlszeilenprogrammen mit Javas Runtime.getRuntime() erfassen und drucken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!