[Java] Externe Programme mit Parameter aufrufen

m3x

Ensign
Registriert
Aug. 2005
Beiträge
218
Hallo..
hab gearde irgendwie einen hänger: Ich möchte mit Java ein externes Programm (sagen wir huhu.exe) aufrufen und ihm Parameter übergeben( -s 300 -ov -end 1000). Neben bei soll Java natürlich solange warten bis der Process ausgeführt wird.
Desweiteren sollen die temp.-Dateien die das Programm erstellt anschließend, wenn möglich mt dem Windows-eigenen "DEL"-Befehl gelöscht werden.

Hat jemand eine idee? THX!
 
Guck dir mal die Klasse Runtime an. Dort sind exec-Methoden zum Ausführen von Programmen vorhanden, die ein Objekt der Klasse Process zurückliefern. Hiervon einfach die Methode waitFor() aufrufen und deine Java-Anwendung wartet, bis die aufgerufene Anwendung beendet wird.
 
Hmm okeeee... könnte ich mal testen.
(dachte immer das die waitFor() nicht allzuviel bringt, bzw. Endlosschleifen auslöst).. aber ich werds mal testen!

Schonmal Danke!
 
wie erwartet... wenn ich nur den "calc" aufrufe gehts... bei den programm mit den zich parametern allerdings verfängt sich das programm in einer endlosschleife :(
 
Wenn du mit Parametern arbeitest, die bei denen zwischen Parameter und Wert ein Leerzeichen ist, musst du exec(String[] cmdarray) verwenden. Wenn du einen einzigen String benutzt, wird der an jedem Leerzeichen aufgeteilt und dann als array an oben genannte Methode übergeben, das heißt, jeder Parameterwert gilt dann als Parameter.

edit:
Schwachsinn, was ich oben geschrieben hab'. Dann würde das gestartete Programm eventuell gar nicht richtig starten.
Der Java-Thread, in dem die exec-Methode aufgerufen wird, wird solange blockert, bis der aufgerufene Prozess beendet ist.
/edit
 
Zuletzt bearbeitet:
Zurück
Oben