Prozesse in Java starten
Ähnlich dem .Net-Framework, bei dem Prozesse mit System.Diagnostics.Process.Start("processname" gestartet werden ) bietet Java eine bequeme Möglichkeit, externe Programme auszuführen.
Java-Prozess Schnittstelle
In Java bietet die Runtime-Klasse die Methode exec() zum Starten eines Prozesses. Die Syntax lautet:
Process p = Runtime.getRuntime().exec("processname");
wobei „Prozessname“ die ausführbare Datei oder den zu startenden Befehl darstellt.
Plattformübergreifende Kompatibilität
Zu erreichen Aufgrund der plattformübergreifenden Kompatibilität können Sie mithilfe der Systemklasse das aktuelle Betriebssystem ermitteln und den Prozessstart entsprechend anpassen. Auf Windows-Systemen können Sie beispielsweise den Pfad „%windir%system32“ vor dem Namen der ausführbaren Datei verwenden.
Eingabe und Ausgabe verarbeiten
Die Process-Klasse stellt Eingaben bereit und Ausgabeströme zur Kommunikation mit dem laufenden Prozess. Sie können die Methoden getInputStream() und getOutputStream() verwenden, um auf diese Streams zuzugreifen.
Beispiel-Anleitung
Der bereitgestellte Java-Code zeigt, wie der Befehl „tree.com“ gestartet wird /A auf einem Windows-System:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.file.Paths; public class CmdExec { public static void main(String[] args) { try { Process p = Runtime.getRuntime().exec( Paths.get(System.getenv("windir"), "system32", "tree.com /A").toString() ); try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) { String line; while ((line = input.readLine()) != null) { System.out.println(line); } } } catch (Exception err) { err.printStackTrace(); } } }
Dieser Code startet den Baumbefehl mit der Option /A, die eine Verzeichnisliste im Baum anzeigt formatieren. Die Ausgabe des Befehls wird dann gelesen und auf der Konsole ausgegeben.
Das obige ist der detaillierte Inhalt vonSo führen Sie externe Programme in Java aus: Eine Anleitung zur Prozessschnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!