Externes Programm - Konsolenausgabe kopieren/sichtbar machen

Status
Nicht offen für weitere Antworten.

Jonnsn

Bekanntes Mitglied
Hi,

ich habe ein Programm dass ein externes Programm aufruft, welches eine Konsolenausgabe - ... ausgibt ( :bae: )
Mein java Programm ist im Grunde nur eine GUI dazu
Meine erste Idee war nun die Konsolenausgabe auf eine Textarea umzuleiten (bspw. so wie hier) - funktioniert an sich auch.

Nur - wenn ich das Programm in einer bestimmten Art aufrufe bekomme ich folgendes:
Code:
Failed to open 'javax.swing.JTextField[,5,27,400x25, -->[GEKÜRZT]<-- ,horizontalAlignment=LEADING]' : Failed to lock the file (16392).
Kann es sein, dass mein externes Programm versucht in seinen Output stream zu schreiben -> und damit in meine JTextarea, zuvor will es diese "Datei" exklusiv bekommen, was natürlich bei der JTextaArea nicht klappt.... ?
Wenn ja - gibts ne Möglichkeit das zu verhindern?
Wenn nein: weiß jemand worans sonst liegt? :bahnhof:

An sich wäre das aber auch alles egal, wenn mir nur jemand sagt, wie ich die Ausgabe des Programms direkt sichtbar mache :D also das vom eigentlichen Programm kommende Konsolenfenster anzeige
Ich starte das Programm mit exec() (wenn ichs manuell starte, öffnet sich auch die Konsole ...)#

Danke!
(hoffe ich hab niemanden zu sehr verwirrt ???:L )

Gruß
 

thE_29

Top Contributor
Ich würde die Ausgabe vom Programm in eine Datei umleiten lassen und diese auslesen!

Da es bei getInputStream bei Prozessen manchmal zu einem Deadlock kommt und er nicht mehr weiterlesen kann (zumindest bei 1.4 war das ein bekannter Bug).

Ansonsten probiere mal

exec.("cmd /c PROGRAMM.exe");
 

The_S

Top Contributor
@thE_29

Dein Deadlock Problem tritt genauso mit Java 1.6 auf - letztens erst probiert. Außerdem macht das vorallem dann Probleme, wenn man mehr liest, als das Programm bytes ausgegeben hat ???:L .
 

thE_29

Top Contributor
Jop!
Das ist ein bewusstes Problem von Java/Sun (dachte aber, dass die das geschafft haben).

Hab das mal irgendwo in einem BugTicker oder sonst wo gelesen. Anscheinend kriegens das nicht in Griff. Ich mache seitdem immer den Umweg über einer Datei. Außer es ist halt nur minimal output.
 

Jonnsn

Bekanntes Mitglied
thE_29 hat gesagt.:
Ich würde die Ausgabe vom Programm in eine Datei umleiten lassen und diese auslesen!
Das wäre natürlich möglich, wenns was helfen kann - Problem wäre nur: wann/wie oft lese ich die Datei aus? Das Programm läuft ne weile - nur sollte ich mitbekommen wann es fertig ist...
thE_29 hat gesagt.:
exec.("cmd /c PROGRAMM.exe");
(Ohne Punkt nehme ich an) Das klappt bei mir leider nicht (es passiert nichts..) - wie müssten da Parameter angegeben werden?
 

Jonnsn

Bekanntes Mitglied
Code:
Runtime.getRuntime().exec("cmd /c "  + cmd)
wobei cmd ein String ist, der Programmpfad+name sowie parameter enthält...
etwa so:
Code:
C:\programm.exe -x bla blubb
Datei: ja so ist klar - die frage wäre wie ich da mitbekomme wann schluss ist... naja aber das ist erstmal zweitrangig - ich bastle gerade an der Umleitung in ne Datei
 

thE_29

Top Contributor
Also bei mir geht das Tip Top!

Code:
Runtime.getRuntime().exec("cmd /c C:\\programm.exe -x bla blubb");

Übergibt bei mir die Parameter an das programm.exe.
 
G

Gast

Gast
Hallo, ich hätte eine Frage. Was bedeutet -x in "Runtime.getRuntime().exec("cmd /c C:\\programm.exe -x bla blubb");"? Ist das auch ein Parameter?
 
G

Gast

Gast
Danke für die schnelle Antwort! Dazu noch eine kurze Frage. Warum werden einige Parameter mit der "-" Zeichen geschrieben?
 

@x.l

Bekanntes Mitglied
Das Minuszeichen kennzeichnet den Parameternamen danach kommt mit Leerzechen getrennt der Wert für diesn Parameter.


Kommando -paramName paramWert -andererParam paramWert
 

The_S

Top Contributor
@x.l hat gesagt.:
Das Minuszeichen kennzeichnet den Parameternamen danach kommt mit Leerzechen getrennt der Wert für diesn Parameter.


Kommando -paramName paramWert -andererParam paramWert

Muss aber nicht zwingend so sein. Kann jedes Programm (bzw. jeder Programmierer) so handhaben, wie es möchte.
 
G

Gast

Gast
Hi! Ich würde mich freuen, wenn mir jemand helfen könnte.
Ich habe folgendes Problem. Wenn ich mit JAVA ein externes Programm aufrufe (xxx.bat), das wiederum ein yyy.bat aufruft, werden alle Kommandos in xxx.bat bis auf "call yyy.bat" ausgeführt. Genauer gesagt wird das yyy.bat nicht gestartet. Woran könnte es liegen?
 

@x.l

Bekanntes Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
Muss aber nicht zwingend so sein. Kann jedes Programm (bzw. jeder Programmierer) so handhaben, wie es möchte.
Da hast du recht, doch üblichlicherweise wird es so gehandhabt. Ist ja bei Tastaturkürzeln ähnlich - z.B. Strg+C -> steht ja auch in der Regel für Copy und nicht für Close.
 

The_S

Top Contributor
wie startest du die erste .bat Datei? über "cmd /c start blub.bat"? Falls nein, mach das mal so.
 

The_S

Top Contributor
@x.l hat gesagt.:
Ist ja bei Tastaturkürzeln ähnlich - z.B. Strg+C -> steht ja auch in der Regel für Copy und nicht für Close.

Außer bei der Windows-Konsole, da bricht man mit STRG+C ab und kopiert nach markieren mit Enter :lol:
 
G

Guest

Gast
mit Strg+C beendet man AUCH unter windows (zum Glück) Programme auf (virtueller) shell ebene :D
 
G

Gast

Gast
Ich habe schon versucht den Aufruf mit "start" durchzuführen, dabei wurde nur der "cmd" aufgemacht und es wird auf ein Kommando gewartet, weiter läuft es automatisch leider nicht.

myProcess = Runtime.getRuntime().exec("cmd.exe /C start xxx.bat"
 

The_S

Top Contributor
Damit gibts schon immer Probleme. Was macht denn deine bat-Datei, was dein Java Programm nicht machen kann?
 
G

Gast

Gast
Die .bat-Dateien sehen so aus:

test.bat

@ECHO OFF
ECHO. test // läuft
call notepad // läuft
call test_var.bat var1 var2 var3 // läuft nicht
ECHO. CHECK > X_Ausgabe_test.txt // läuft




test_var.bat

@ECHO OFF
ECHO. Die Parameter werden uebergeben
ECHO. test_var
call notepad // läuft nicht
echo.%1
echo.%2
echo.%3
echo. Ausgabe neu > X_Ausgabe_testvar.txt // läuft nicht, Datei nicht angelegt
 
G

Gast

Gast
Ich habe vergessen zu sagen, wenn ich das test.bat direkt aus dem Verzeichnis starte , dann läuft alles einwandfrei (test_var.wird auch korrekt durchgeführt)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Externes Programm starten - Konsolenausgabe anzeigen lassen? Allgemeine Java-Themen 2
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
Thallius Herausfinden ob ein externes Programm schon gestartet ist? Allgemeine Java-Themen 10
H Externes Programm, Parameter Allgemeine Java-Themen 6
T Externes Programm auf anderem Bildschirm starten Allgemeine Java-Themen 3
F Externes Programm starten, Speicheraufwändig Allgemeine Java-Themen 7
M in Abhänigkeit vom FileFilter, externes Programm ausführen Allgemeine Java-Themen 12
F externes Programm beginnt erst nach dem ende des mainprogrammes Allgemeine Java-Themen 3
H Externes Programm in JAR einbinden Allgemeine Java-Themen 11
X Aus Java Applikation externes Programm starten Allgemeine Java-Themen 3
N Externes Programm steuern Allgemeine Java-Themen 12
J Externes Programm starten und stoppen (Linux) Allgemeine Java-Themen 3
P Externes Programm starten und beeinflussen Allgemeine Java-Themen 11
S externes programm Allgemeine Java-Themen 6
padde479 Externes Programm starten Allgemeine Java-Themen 7
C externes Programm läuft erst nach schließen des mainprogramm Allgemeine Java-Themen 7
T Mit java externes Programm starten Allgemeine Java-Themen 4
W Externes Programm beenden mit eigenem Programm beenden Allgemeine Java-Themen 7
M Externes Programm ausführen Allgemeine Java-Themen 2
M externes Programm aus Java heraus starten Allgemeine Java-Themen 2
O Maven ein externes jar laden ohne die Applikation neu zu kompilieren Allgemeine Java-Themen 4
S externes Mehrweg-Mischen Allgemeine Java-Themen 3
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
E Externes bat sichtbar ausführen Allgemeine Java-Themen 4
L Externes Bash Script aus Java Datei heraus starten Allgemeine Java-Themen 2
N externes Sortieren (MergeSort Allgemeine Java-Themen 2
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1

Ähnliche Java Themen


Oben