gerRuntime().exec stürtz ab?

  • Themenstarter Themenstarter hendrik
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
H

hendrik

Gast
Hallo.

Ich möchte aus Java herraus ein externes Programm ausführen, wie z.B. die Eingabeaufforderung (cmd) - und diesen Abfragen und auch Eingaben machen (quasi emulation der cmd in einem textarea und einem textfield als eingabezeile)

Vom Prinzip her:
Process p = Runtime.getRuntime().exec( "cmd" );
(ich spar mir hier mal Bufferreader etc...)

Wenn ich das mit "cmd" mache, dann wird erst dieses cmd typische "Microsoft XP..... blabla" angezeigt, anschließend passiert gar nichts mehr (Schließen nur noch über STRG ALT ENTF möglich).

Wenn ich z.B. "cmd /c ping www.java.de" einfüge, dann funktioniert es.
Daher scheint das Problem darin zu liegen, dass Java darauf wartet, dass das Programm geschlossen wird - was ich ja aber nicht will....

Danke für Hilfe...
 
hendrik hat gesagt.:
Daher scheint das Problem darin zu liegen, dass Java darauf wartet, dass das Programm geschlossen wird - was ich ja aber nicht will....

Was willst du denn dann?

Das andere Programm wird als externer Prozess gestartet und die Ein- und Ausgaben kannst du über das Process-Objekt kontrollieren.
Ist doch genau das, was du wolltest.

Wie soll sich JAVA denn an dieser Stelle verhalten?
 
sowas sollte auf jeden mit einem try und catch umklammert werden, um fehler zu bearbeiten die auftreten können.
 
Nobody hat gesagt.:
sowas sollte auf jeden mit einem try und catch umklammert werden, um fehler zu bearbeiten die auftreten können.

Muss er sowieso, sollte von seinem Code etwas ne Exception schmeißen, denn sonst wirds nicht kompiliert. Da er aber bereits kompiliert hat, hat er entweder Code, der keine Exception wirft, oder aber er hat sie abgefangen.

Wenn keine Exception geworfen werden kann, bringt try-catch mal herzlich wenig.

So ein Debugger ist schon eine nützliche Sache...
 
ja nee 🙂
try catch habsch scho drin - läuft sonst eh nich 🙂

aber ich will ja nicht einfach das programm öffnen und darüber bedienen, sondern z.b. nen button einfügen - wenn ich draufdrücke sendet der "connect xxxxx" hin - und anschließend wird das ergebnis (bzw. die ausgabe) geholt und mir in 'ner textarea ausgegeben...

quasi wie... hmm... telnet. Also ich starte die java datei - java startet im hintergrund telnet - ich klick auf nen button, "connect xxx" wird an telnet geschickt - ich hol die ausgabe von telnet - gib dann z.b. in ein textfeld nen passwort ein, klick auf abschicken... etc etc.

(NEIN! ich will nicht mit java zu nem telnet verbinden 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben