„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich externe Programme effektiv ausführen und deren Ausgabe in Java abrufen?

Wie kann ich externe Programme effektiv ausführen und deren Ausgabe in Java abrufen?

Veröffentlicht am 15.11.2024
Durchsuche:434

How can I effectively execute external programs and retrieve their output in Java?

Externe Programme in Java ausführen

In Ihrem Java-Programm versuchen Sie, ein externes Programm („program.exe“) mit Runtime.exec( auszuführen. ) Methode. Obwohl es keine Fehler erzeugt, scheint das Programm ineffektiv zu sein.

Der bereitgestellte Code verwendet die Runtime.exec(params)-Methode, um das externe Programm zu starten. Allerdings weist diese Methode Einschränkungen bei der Verarbeitung von Eingabe- und Ausgabedaten zwischen dem Java-Programm und dem externen Prozess auf.

Um effektiv mit einem externen Programm zu interagieren und dessen Ausgabe abzurufen, können Sie die ProcessBuilder-Klasse verwenden. Hier ist ein Beispiel, das zeigt, wie das Programm „program.exe“ mit bestimmten Parametern ausgeführt wird:

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Users\\user\\Desktop\\program.exe",
        "C:\\Users\\user\\Desktop\\images.jpg", "C:\\Users\\user\\Desktop\\images2.txt");
Process process = processBuilder.start();

InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line;
System.out.println("Output of running program.exe with parameters:");

while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}

In diesem Code erstellen wir eine ProcessBuilder-Instanz mit den erforderlichen Parametern. Mit der Methode start() wird das externe Programm gestartet. Anschließend verwenden wir einen InputStream, um die Ausgabe des Programms zu lesen, konvertieren sie mit einem InputStreamReader in Zeichen und speichern sie schließlich in einem BufferedReader, um die zeilenweise Verarbeitung zu erleichtern.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3