Heim > Java > javaLernprogramm > Wie kann man Befehlszeilenausgaben in Java effizient erfassen?

Wie kann man Befehlszeilenausgaben in Java effizient erfassen?

Linda Hamilton
Freigeben: 2024-12-28 14:21:30
Original
509 Leute haben es durchsucht

How to Efficiently Capture Command Line Output in Java?

Befehlszeilenausgabe in Java extrahieren

Die Runtime-Klasse von Java bietet die Möglichkeit, Befehlszeilenprogramme auszuführen. Allerdings kann es eine schwierige Aufgabe sein, die von diesen Befehlen generierte Ausgabe zu erhalten. In diesem Artikel wird dieses Problem behoben, indem erläutert wird, wie die Ausgabe eines Befehlszeilenprogramms mithilfe der Runtime-Klasse extrahiert wird.

Im bereitgestellten Code zeigt die Fehlermeldung, dass der Ausgabestream nicht ordnungsgemäß gelesen wird. Um dies zu beheben, demonstriert der folgende Code eine robuste Methode:

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);
}
Nach dem Login kopieren

Dieser Code nutzt die Runtime-Klasse, um den Befehl auszuführen, und öffnet Reader sowohl für die Standardeingabe als auch für die Fehlerströme des Prozesses. Anschließend werden die Ausgabe- und Fehlerzeilen durchlaufen und auf der Konsole ausgegeben.

Ausführlichere Details und erweiterte Optionen finden Sie in der Java-Dokumentation zu ProcessBuilder: https://docs.oracle.com/javase/ 7/docs/api/java/lang/ProcessBuilder.html

Das obige ist der detaillierte Inhalt vonWie kann man Befehlszeilenausgaben in Java effizient erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage