Methoden Runtime.getRuntime().exec(befehl);

wie kann ich fremdprogramme in java ausführen ?

  • nur in grafisch orientierten pgm

    Stimmen: 0 0,0%
  • überhaupt nicht

    Stimmen: 1 100,0%

  • Anzahl der Umfrageteilnehmer
    1
  • Umfrage geschlossen .

Onkel Tom

Mitglied
Hallo Forum,
möchte eine EXE (gerne auch COM oder BAT) über java-code starten.
funktioniert nur nicht. konnte zu dem Thema in meinen eigenen Büchern nichts finden.
keine Ahnung wo der fehler liegt. das Programm soll in der shell laufen.
meine.exe kann im Verzeichnis liegen, das Programm rauscht die try-catch formation durch, doch meine.exe wird nicht gestartet. fehlt dagegen die meine.exe wird der catch-zweig angesprungen und java macht das was es auch soll.
den code habe ich übrigens bei euch gefunden, ist mittlerweile 10 jahre alt, aber das macht ja nichts.

ciao,
onkel tom


Java:
import java.io.*;
import java.io.ByteArrayOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io_OutputStream;
//import java.util.Timer;
//import java.util.TimerTask;
//import java.util.concurrent.TimeoutException;

class extern1
{
public static void main(String args[])

    {
       String befehl = "meine.exe";
       System.out.println("TestProgramm\n\n" );
      try{
            System.out.println("stehe vor dem aufruf  "+befehl);
            Runtime.getRuntime().exec(befehl);
            System.out.println("alles okay ");
          }

       catch(IOException e)
            {
               System.out.println("fehler ist eingetreten");
               System.out.println(e);
               System.exit(1);
              return;
           }
       finally{ System.out.println("bin aus der try-catch wieder raus");}
    }
}
 
Zuletzt bearbeitet von einem Moderator:

krgewb

Top Contributor
Bitte immer in Code-Tags schreiben.
Java:
import java.io.*;
import java.io.ByteArrayOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io_OutputStream;
//import java.util.Timer;
//import java.util.TimerTask;
//import java.util.concurrent.TimeoutException;

class extern1
{
    public static void main(String args[])
    {
        String befehl = "meine.exe";
        System.out.println("TestProgramm\n\n");

        try
        {
            System.out.println("stehe vor dem aufruf " + befehl);
            Runtime.getRuntime().exec(befehl);
            System.out.println("alles okay");
        }
        catch(IOException e)
        {
            System.out.println("fehler ist eingetreten");
            System.out.println(e);
            System.exit(1);
            return;
        }
        finally
        {
            System.out.println("bin aus der try-catch wieder raus");
        }
    }
}
 

httpdigest

Top Contributor
Das Problem wird sein, dass deine exe zwar ausgeführt wird, du das aber nicht siehst, weil du die stdin/stdout/stderr Streams nicht an die Konsole des Java-Prozesses weiterleitest. Das heißt, falls deine exe etwas ausgibt, siehst du das nicht, weil an seinen stdout niemand horcht. Versuch's mal so:
Java:
public static void main(String[] args) throws Exception {
  ProcessBuilder pb = new ProcessBuilder("meine.exe");
  pb.inheritIO(); // <- vererbe stdin/stdout/stderr
  Process p = pb.start();
  p.waitFor();
}
 
X

Xyz1

Gast
leider ist das in Java etwas vertrackt.... das soll heißen es ist wenig bis gar nicht möglich. In anderen Programmiersprachen ist das wesentlich leichter.
 

Onkel Tom

Mitglied
Das Problem wird sein, dass deine exe zwar ausgeführt wird, du das aber nicht siehst, weil du die stdin/stdout/stderr Streams nicht an die Konsole des Java-Prozesses weiterleitest. Das heißt, falls deine exe etwas ausgibt, siehst du das nicht, weil an seinen stdout niemand horcht. Versuch's mal so:
Java:
public static void main(String[] args) throws Exception {
  ProcessBuilder pb = new ProcessBuilder("meine.exe");
  pb.inheritIO(); // <- vererbe stdin/stdout/stderr
  Process p = pb.start();
  p.waitFor();
}
Möchte mich gerne beim Wissenden bedanken, "Je später der Abend, desto feiner die Gäste" Tolles Forum.
 
X

Xyz1

Gast
Wahrscheinlich Ironie, aber ich kann Dir das Benehmen verzeihen weil Du nicht verstanden hast was ich schreiben wollte. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
P Vererbung Runtime.getRuntime().exec("blub"); Java Basics - Anfänger-Themen 11
J Window 7 Problem mit Runtime.getRuntime().exec("explorer") Java Basics - Anfänger-Themen 4
D Runtime.getRuntime().exec(command); Java Basics - Anfänger-Themen 5
X Runtime.getRuntime().exec() Problem(inkonsistenter sch****) Java Basics - Anfänger-Themen 2
G Runtime.getRuntime().exec(command) für Mac OS! Java Basics - Anfänger-Themen 7
G Runtime.getRuntime().exec und Exception? Java Basics - Anfänger-Themen 3
Z kleine frage zu: Runtime.getRuntime().exec("cmd /c) Java Basics - Anfänger-Themen 3
O Aktuelles Verzeichnis Runtime.getRuntime().exec Java Basics - Anfänger-Themen 6
T Process pro =Runtime.getRuntime.exec("wine /Datei Pfad/ Java Basics - Anfänger-Themen 8
T Runtime.getRuntime().exec mit parameterübergabe Java Basics - Anfänger-Themen 16
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2
B mit Runtime.getRuntime().exec auch HTML-Dateien öffnen? Java Basics - Anfänger-Themen 7
G Parameterübergabe bei Runtime.getRuntime().exec Java Basics - Anfänger-Themen 16
F Probleme mit Runtime.getRunTime().exec() Java Basics - Anfänger-Themen 7
M Runtime.getRuntime().exec() Problem Java Basics - Anfänger-Themen 3
C Kann java.exe nicht aus Runtime.getRuntime().exec() starten Java Basics - Anfänger-Themen 4
J Programm was üer Runtime.getRuntime gestartet wird erkennt String Parameter nicht Java Basics - Anfänger-Themen 0
I Runtime.getRuntime mit delay? Java Basics - Anfänger-Themen 2
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
R Einfaches refresh während runtime Java Basics - Anfänger-Themen 4
L0MiN Input/Output Wie kann ich Kompilierfehler richtig ausgeben lassen (Runtime)? Java Basics - Anfänger-Themen 1
D Input/Output Runtime().exec fehler abfangen Java Basics - Anfänger-Themen 4
D RunTime Exec Java Basics - Anfänger-Themen 7
D Runtime exec output wiedergeben Java Basics - Anfänger-Themen 1
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
T java ohne runtime ? Java Basics - Anfänger-Themen 6
B Error vs Runtime exception Java Basics - Anfänger-Themen 4
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
G Fehlermeldung: A fatal error has been detected by the Java Runtime Environment Java Basics - Anfänger-Themen 7
pg1337 Methoden Runtime Exception Java Basics - Anfänger-Themen 13
F Runtime - Ausführung abwarten Java Basics - Anfänger-Themen 6
N Java 6 / J2SE Runtime deinstallieren Java Basics - Anfänger-Themen 11
A JAR2EXE -> Java Runtime Environment not found Java Basics - Anfänger-Themen 4
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
S Mit Runtime.exec() ImageMagick aufrufen -> Problem Java Basics - Anfänger-Themen 5
D Runtime.exec cygwin1.dll Java Basics - Anfänger-Themen 4
B Externe .exe-Dateien starten +Runtime Java Basics - Anfänger-Themen 6
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
I Runtime.exec mit Adminrechten Java Basics - Anfänger-Themen 2
T Seltsame Runtime-Fehlermeldung Java Basics - Anfänger-Themen 4
M Runtime exec mit Ordner angabe Java Basics - Anfänger-Themen 7
B Unklarheit bei Applets und Runtime Java Basics - Anfänger-Themen 5
P custom EventDispatcher fehlermeldung in der runtime bei invo Java Basics - Anfänger-Themen 27
D Runtime Prozeß hängt sich auf. in der Kommandozeile gehts Java Basics - Anfänger-Themen 5
O Java Runtime Java Basics - Anfänger-Themen 2
G runtime in java Java Basics - Anfänger-Themen 31
G Runtime.exec() Problem Java Basics - Anfänger-Themen 4
Z linux-befehl Runtime exec Java Basics - Anfänger-Themen 2
M Runtime.exec() Java Basics - Anfänger-Themen 5
G Batch aufrufen klappt nicht mit Runtime Java Basics - Anfänger-Themen 5
N Runtime.exec und Key event Java Basics - Anfänger-Themen 2
T Mit Runtime unter Windows einen Ordner öffnen Java Basics - Anfänger-Themen 2
P runtime geht nicht? Java Basics - Anfänger-Themen 16
P Gibt es Probleme mit Runtime Objekten in Servlets? Java Basics - Anfänger-Themen 3
G Probelm mit Runtime exec! Erstellen einer neuen Konsole. Java Basics - Anfänger-Themen 2
P Runtime problem Java Basics - Anfänger-Themen 5
D 2 Verständnisfragen zu Threads und Runtime Java Basics - Anfänger-Themen 5
S Runtime.exec -> Thread.sleep -> Konflikt Java Basics - Anfänger-Themen 7
C Syntax Probleme mit Runtime javascript Java Basics - Anfänger-Themen 9
B getRuntime().exec() Java Basics - Anfänger-Themen 4
M Grep über .getRuntime Java Basics - Anfänger-Themen 12
S .exe mit getRuntime.exec sichtbar ausführen Java Basics - Anfänger-Themen 3
L Bitte um Hilfe: getRuntime().exec() Java Basics - Anfänger-Themen 12
S mit getRuntime.exec gestarteten Prozess überwachen Java Basics - Anfänger-Themen 2
G getRuntime().exec unix problem Java Basics - Anfänger-Themen 17
N Und noch eine Frage über getRuntime() Java Basics - Anfänger-Themen 4
Z Frage nach getRunTime() Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
M Noch immer Probleme mit exec Java Basics - Anfänger-Themen 15
K exec.StdIn.Write Java Basics - Anfänger-Themen 7
C javac, exec, -sourcepath, Umgebungsvariablen Java Basics - Anfänger-Themen 9
C exec Aufruf mit Leerzeilen im Pfad Java Basics - Anfänger-Themen 3
C exec Umgebungsvariablen Java Basics - Anfänger-Themen 2
K Eingabe für exec überprüfen Java Basics - Anfänger-Themen 2
R exec: plattformunabhängig Java Basics - Anfänger-Themen 7
F Leerzeichen in Pfadangabe beim Befehl exec() Java Basics - Anfänger-Themen 5
T Benötige ich einen thread bei zugriff getRunetime.exec ? Java Basics - Anfänger-Themen 4
K Datein ausführen (exec) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben