In Ihrem Java-Programm versuchen Sie, ein externes Programm („program.exe“) mithilfe von Runtime.exec( ) Methode. Obwohl es keine Fehler erzeugt, scheint das Programm unwirksam zu sein.
Der bereitgestellte Code nutzt die Runtime.exec(params)-Methode, um das externe Programm zu starten. Diese Methode weist jedoch 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:
<code class="java">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); }</code>
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 zur einfacheren zeilenweisen Verarbeitung in einem BufferedReader.
Das obige ist der detaillierte Inhalt vonWie kann ich externe Programme effektiv ausführen und deren Ausgabe in Java abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!