Heim >Java >javaLernprogramm >Wie kann ich Befehlsausgaben mit Javas Runtime.getRuntime() erfassen und anzeigen?
Java Runtime.getRuntime() ermöglicht die Ausführung von Befehlszeilenprogrammen aus einem Java-Programm. Seine Methode exec() nimmt ein Array von Befehlsargumenten entgegen und gibt ein Process-Objekt zurück. Das Abrufen der Ausgabe des Befehls ist jedoch eine ganz andere Aufgabe.
Um die Befehlsausgabe abzurufen, stellt das Process-Objekt Eingabe- und Fehlerströme über getInputStream() bzw. getErrorStream() bereit. Hier ist eine erweiterte Version Ihres Codes, der die Ausgabe abruft und druckt:
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); }
Durch Lesen aus dem Eingabestream können Sie auf die Ausgabe des Befehls zugreifen und diese drucken. Beachten Sie, dass bei der Befehlsausführung möglicherweise Fehler auftreten. Daher ist es ratsam, auch den Fehlerstrom mit getErrorStream() zu überprüfen.
Ausführlichere Informationen finden Sie in der Process API-Dokumentation. Alternativ können Sie die ProcessBuilder-Klasse verwenden, um mehr Kontrolle über die Prozesskonfiguration zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich Befehlsausgaben mit Javas Runtime.getRuntime() erfassen und anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!