Supportnet / Forum / Anwendungen(Java,C++...)
Wie kann ich im Java-Code andere Programme ausführen?
Frage
Hallo,
ich würde gerne wissen,
wie ich in java andere Programme steuern kann.
In Unix werden die Programme ueber eine
Kommandozeile eingegeben.
In Perl wurde ich das so schreiben:
system "prog parameter1";
nur wie geht so etwas unter java?
Gruss
Laura
Antwort 1 von TheRealWhistler
Hi Laura,
schaue mal unter diesem link nach (Java Dokumentation eng.)
Mit der Klasse Runtime kann unter anderem auch externe Programme ausführen. (in Form einer Kommandozeile, als würdest du sie in der Konsole eingeben)
Schau bei der Methoden-Familie "exec" nach,
es gibt verschiedene, z.B. kannst du auch Parameter in der Kommandozeile übergeben.
Beachte aber, dass ein neuer Tochter-Prozess deiner Java Applikation gestartet wird. Welche über eine Instanz der Klasse Process repräsentiert wird.
Hier der Link zur Doku für die Klasse Runtime:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
Hier der Link zur Doku für die Klasse Process:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html
und hier ein kleines Besipiel:
Runtime rtm;
Process proc;
int returnWert;
rtm = Runtime.getRuntime();
proc = rtm.exec( "cmd");
proc.waitFor(); // wartet bis cmd Beendet wurde, da diese Java Anwendung und der externe Prozess (quasi-)parallel ausgeführt werden.
returnWert = proc.exitValue(); // holt den Rückgabewert des Bereits beendeten Prozesses
...
...
Ciao
Andreas
schaue mal unter diesem link nach (Java Dokumentation eng.)
Mit der Klasse Runtime kann unter anderem auch externe Programme ausführen. (in Form einer Kommandozeile, als würdest du sie in der Konsole eingeben)
Schau bei der Methoden-Familie "exec" nach,
es gibt verschiedene, z.B. kannst du auch Parameter in der Kommandozeile übergeben.
Beachte aber, dass ein neuer Tochter-Prozess deiner Java Applikation gestartet wird. Welche über eine Instanz der Klasse Process repräsentiert wird.
Hier der Link zur Doku für die Klasse Runtime:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
Hier der Link zur Doku für die Klasse Process:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html
und hier ein kleines Besipiel:
Runtime rtm;
Process proc;
int returnWert;
rtm = Runtime.getRuntime();
proc = rtm.exec( "cmd");
proc.waitFor(); // wartet bis cmd Beendet wurde, da diese Java Anwendung und der externe Prozess (quasi-)parallel ausgeführt werden.
returnWert = proc.exitValue(); // holt den Rückgabewert des Bereits beendeten Prozesses
...
...
Ciao
Andreas
Antwort 2 von Lau2
Danke Andreas,
du hast mir sehr geholfen.
Gruss
Laura
du hast mir sehr geholfen.
Gruss
Laura
Antwort 3 von TheRealWhistler
kein Problem.

