So führen Sie externe Programme in Java aus
Bei der Bearbeitung komplexer Aufgaben oder der Schnittstelle zu externen Systemen müssen Java-Entwickler häufig externe Programme ausführen aus ihrem Code. Obwohl diese Aufgabe vom Konzept her unkompliziert ist, kann sie verschiedene Herausforderungen mit sich bringen, wie z. B. Prozessmanagement, Parameterübergabe und Fehlerbehandlung.
Ein gängiger Ansatz zum Ausführen externer Programme in Java ist die Verwendung von Runtime.getRuntime().exec ()-Methode. Diese Methode verwendet ein Array von Zeichenfolgen als Argument, wobei das erste Element den ausführbaren Pfad darstellt und die nachfolgenden Elemente als Befehlszeilenparameter fungieren.
Der in der Frage bereitgestellte Code verwendet zwar diese Methode, dies ist jedoch nicht der Fall Erfassen Sie die Ausgabe oder interagieren Sie mit dem externen Programm. Um dies zu beheben, können wir stattdessen einen prozessbasierten Ansatz verwenden:
<code class="java">Process process = new ProcessBuilder("C:\PathToExe\MyExe.exe", "param1", "param2").start();</code>
Dieser Code erstellt ein ProcessBuilder-Objekt und gibt die ausführbare Datei und ihre Parameter an. Anschließend initiiert es das externe Programm durch Aufrufen der start()-Methode und gibt ein Process-Objekt zurück, das den untergeordneten Prozess darstellt.
Um mit dem untergeordneten Prozess zu interagieren und auf seine Ausgabe zuzugreifen, können wir Eingabe- und Ausgabeströme verwenden:
<code class="java">InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; System.out.printf("Output of running %s is:", Arrays.toString(args)); while ((line = br.readLine()) != null) { System.out.println(line); }</code>
Dieser Code öffnet einen Eingabestream vom untergeordneten Prozess, erstellt einen Reader und durchläuft dann die Ausgabe Zeile für Zeile, um sie auf der Konsole anzuzeigen.
Durch die Verwendung eines Prozesses -basierten Ansatz können wir externe Programme effektiv ausführen, deren Ein- und Ausgabe verwalten und Fehler umfassend behandeln. Der bereitgestellte Code dient als Ausgangspunkt für Entwickler, die über Java-Code eine Schnittstelle zu externen Systemen herstellen möchten.
Das obige ist der detaillierte Inhalt vonWie führt man externe Programme in Java aus und erfasst deren Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!