Dies ist im Kontext eines lokalen Processing Programms. Ich möchte ein externes Programm ausführen, um einige Daten zu erhalten. Gibt es eine popen() oder eine äquivalente Funktion, die ich verwenden kann?Java: popen() - ähnliche Funktion?
7
A
Antwort
9
Process process = Runtime.getRuntime().exec("your command");
Dann können Sie die Daten mit Hilfe der Process
Streams lesen und schreiben.
2
JDK5 eingeführt ProcessBuilder für mehr Kontrolle über die Prozessgenerierung.
Process process = new ProcessBuilder(command).start()
Seien Sie sich der Tatsache bewusst, dass intern forkAndExec aufgerufen wird, und Gabel ‚macht eine Kopie der gesamten Eltern Raum Adresse‘ auf, so dass auch ein wenig Befehl OutOfMemoryErrors führen kann, wenn der übergeordnete Prozess großen hat Menge an Speicherplatz erworben.
+0
Können Sie einen Link zur ProcessBuilder-Dokumentation hinzufügen? – jwfearn
nur was ich brauchte ... danke! –