DOS Konsole und deren Streams

Status
Nicht offen für weitere Antworten.

Saxony

Top Contributor
Hallo,

ich bastel grad bissl mit Java und der guten alten DOS Konsole rum.
Dazu habe ich mal folgendes geschrieben.

Code:
Runtime r = Runtime.getRuntime();
try {
    Process p = r.exec("myfile.bat p1 p2 p3 p4");
    BufferedReader buf = new BufferedReader(new InputStreamReader(
	new DataInputStream(p.getInputStream())));

    System.out.println(buf.readLine());
} catch (Exception ex) { // TODO }

Wie sage ich aber nun dem BufferedReader, dass immer wenn er Daten erhält diese ausgeben soll?
Mit der Lösung hier bekomme ich nur die erste Zeile der Ausgabe der bat Datei.
Und while(true) und dort das sysout rein is auch mist.

Schlagt mal bitte etwas vor. :)

bye Saxony
 

HaBaLeS

Aktives Mitglied
Saxony hat gesagt.:
Und while(true) und dort das sysout rein is auch mist.

Wieso soll das Mist sein? Was willst du überhaupt machen ? Es muss ja nicht unbedingt sysout sein, aber du musst in ner Schleife prüfen ob was neues da ist. Nonblocking kann ich mir in diesem Fall nicht vorstellen.
 

Saxony

Top Contributor
Hmm,

eine Idee wäre

while(process.isNotDead) print process.inputstream;

Ist halt nur die Frage wie ich mitbekomme ob process noch lebt?

Am Ende lass ich nach Erzeugung des Processes einen Thread laufen, welcher den Process überwacht und sich um die Anzeige der Streams kümmert -> das wäre dann bei mir non-blocking. ;)

bye Saxony
 

HaBaLeS

Aktives Mitglied
Saxony hat gesagt.:
while(process.isNotDead) print process.inputstream;
Ist halt nur die Frage wie ich mitbekomme ob process noch lebt?

mir fallen da 2 sachen ein:

1. Ich würde mal davon ausgehen, das die Streams sauber implementiert sind, und wennich ein EOF oder eine IOException bekomme der Prozess tot ist

2. proc.exitValue() returnt entweder ein int falls der Process tot ist oder schmeist eine Exception falls er noch lebt.

Mit diesen 2 Methoden sollte sich rausfinden lassen, ob der Process noch lebt

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Process.html
 

HaBaLeS

Aktives Mitglied
Hab das mal kurz überflogen. Folgendes ist mir dabei aufgefallen
-Der Beispielcode geht davon aus, das dein Programm zu Ende ist.
-Diese StreamGobbler Klassen machen Jeweils einen Thread auf, ads kann man auch optimieren, indem man alle 2 Streams in eine Klasse packt.
-Du solltest DEINER Implementierung der StreamGobbler noch nen Event mitgeben, wenn das externe Programm zu ende ist, und da sind wir wieder bei der Problematik des detektierens wann der Przess zuende ist. Aber mit dem wait lässt sich sicher ne saubere Lösung finden.

CY
HaBaLeS
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R0m1lly BinärBaum auf Konsole ausgeben Allgemeine Java-Themen 9
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
M Cmd Konsole als Java Konsole Allgemeine Java-Themen 5
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
A Befehle in Konsole. Allgemeine Java-Themen 12
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
Neumi5694 Swing GUI vs Konsole Allgemeine Java-Themen 4
T Input/Output Konsole gibt trotz printf keine Umlaute aus Allgemeine Java-Themen 17
B Farbiger Text in der Konsole Allgemeine Java-Themen 1
RalleYTN JAnsi Warum bleiben die Hintergrundfarben beim Reseten der Konsole? Allgemeine Java-Themen 0
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
W Java Konsole "aufteilen" Allgemeine Java-Themen 4
G Warnung in der Konsole von Eclipse "WARNING: ..." Allgemeine Java-Themen 2
B Text in die Mitte der Konsole schreiben. Allgemeine Java-Themen 1
L Konsole gibt Smileys aus Allgemeine Java-Themen 3
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10
Kaniee Konsole "mitlesen" Allgemeine Java-Themen 6
P .Jar Datein Windows Konsole zugewiesen Allgemeine Java-Themen 3
L Input/Output ProcessBuilder und Windows - Konsole verbergen? Allgemeine Java-Themen 5
T Methoden In Konsole tasten abfangen? Allgemeine Java-Themen 4
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
J Java-Klasse über Konsole starten Allgemeine Java-Themen 6
cedi Eingegebenen Text in der Konsole nicht sichtbar machen oder nur in Sternchen anzeigen Allgemeine Java-Themen 2
R java in der konsole nicht gefunden trotz jre,jdk,home und path Allgemeine Java-Themen 4
Y Anwendung starten(JAR) - Entscheidung Konsole oder Swing Allgemeine Java-Themen 5
P Java Konsole zur Laufzeit einblenden Allgemeine Java-Themen 4
D Windows-Konsole auslesen - Zeichenkodierung Allgemeine Java-Themen 4
N GUI und zusätzlich Konsole Allgemeine Java-Themen 4
M Problem bei einer Baumausgabe auf der Konsole Allgemeine Java-Themen 3
X Konsole aktualisieren Allgemeine Java-Themen 17
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
Z Java Programm - xxxxx auf der Konsole ausgeben Allgemeine Java-Themen 4
F Unterstrichenes U in Eclipse-Konsole ausgeben Allgemeine Java-Themen 10
M Enter Taste in Konsole abfragen Allgemeine Java-Themen 2
B Ausgabe auf der Konsole bei Nebenläufigkeit, Threads und Synchronisation Allgemeine Java-Themen 8
Z Swing vs Konsole Allgemeine Java-Themen 17
E Gibt es Befehle für Kursor auf Konsole ? Allgemeine Java-Themen 3
? Swing Anwendung aus Konsole starten Allgemeine Java-Themen 7
S Error aus der Konsole auslesen Allgemeine Java-Themen 2
T Feststellen ob System-Konsole verfügbar Allgemeine Java-Themen 2
S Rückmeldung von Konsole(Batch) an Java Allgemeine Java-Themen 2
G jar datei MIT Konsole Allgemeine Java-Themen 5
zilti Java-Konsole auslesen? Allgemeine Java-Themen 10
S Aufruf in Konsole mit beliebig vielen Argumenten? Allgemeine Java-Themen 18
M Java Klassen funktioner auf Konsole nicht in Eclipse Allgemeine Java-Themen 4
V JavaProgramm von Konsole starten geht nichtmehr Allgemeine Java-Themen 4
J Threads + Dualcore = Probleme mit dem Output auf der Konsole Allgemeine Java-Themen 12
M Pfeiltasten in Konsole Allgemeine Java-Themen 2
F Konsole Allgemeine Java-Themen 2
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
B Unterschied: jar <-> konsole Allgemeine Java-Themen 9
R Javaprogramm von der Konsole starten Allgemeine Java-Themen 4
M einzelne Tastendrücke von der Konsole einlesen Allgemeine Java-Themen 3
V Befehle von der Konsole einlesen und Escape-Sequenzen. Allgemeine Java-Themen 2
A Ausdrucken von Konsole Allgemeine Java-Themen 4
rambozola anzahl zeichen in konsole eclipse begrenzt? Allgemeine Java-Themen 5
N Konsole im eigenen Java-Programm Allgemeine Java-Themen 4
S java Programme über Konsole starten Allgemeine Java-Themen 5
L char-Zeichen per Konsole einlesen Allgemeine Java-Themen 4
M Unter MacOS einen Befehl auf Konsole ausführen? Allgemeine Java-Themen 6
D Verzögertes schliessen der Konsole Allgemeine Java-Themen 17
J Probleme mit der CommApi beim ProgrammStart über Konsole Allgemeine Java-Themen 2
V Konsole leeren Allgemeine Java-Themen 13
B Konsole: Bildschirm löschen Allgemeine Java-Themen 9
S Programm über Konsole startet nicht Allgemeine Java-Themen 2
A ChatProgramm für Konsole Allgemeine Java-Themen 3
L Dos Konsole mit Java auslesen ? Allgemeine Java-Themen 2
C Die Konsole ins eigene Programm einbauen Allgemeine Java-Themen 5
S Bildschirm in Konsole löschen? Allgemeine Java-Themen 6
MiMa Referenz auf Objekte und deren Inhalte Allgemeine Java-Themen 12
S Kann man Variablen oder Felder definieren deren Typ zwei Interfaces ist..? Allgemeine Java-Themen 9
F Zurnung nach Buchstaben und deren Prüfung Allgemeine Java-Themen 9
I Benutzer und deren Rechte auslesen Allgemeine Java-Themen 4
KrokoDiehl Viele JARs und deren Resourcen Allgemeine Java-Themen 9
hdi Häufige Fehler und deren Lösung Allgemeine Java-Themen 4
M Zugriffsmöglichkeiten von Klassenattributen auf deren Klasse Allgemeine Java-Themen 3
eisioriginal Java Beans und deren Elternklasse Allgemeine Java-Themen 7
M Sonderzeichen bzw. deren Erkennung Allgemeine Java-Themen 3
V Objekt einer Klasse, deren Name nur als String vorhanden Allgemeine Java-Themen 4
K Frage zur Deklaration von Variablen und deren Ressourcen Allgemeine Java-Themen 17
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
Monokuma Lesbarkeit von Streams Allgemeine Java-Themen 6
Monokuma Foreach Schleifen in Streams umändern Allgemeine Java-Themen 23
J Streams Allgemeine Java-Themen 6
LimDul Streams und Exception Allgemeine Java-Themen 8
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
K Lesbarkeit von Streams Allgemeine Java-Themen 5
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
mihe7 Lesbarkeit von Streams Allgemeine Java-Themen 5
N Streams wann .filtern? Allgemeine Java-Themen 2
A Lambda und Streams verstehen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben