ProcessBuilder und die while()

D

drher5z456sd

Gast
Hallo,

folgender Code:
Java:
			 try
			 {
				 System.out.println("hallo1");
				 ProcessBuilder processBuilder = new ProcessBuilder("powershell", "get-wmiobject", "-class", "win32_logonsession", "-computername", "\".\"");
				 Process process = processBuilder.start();
				 System.out.println("hallo2");
			     BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
			     System.out.println("hallo3");

			     Scanner scanner = new Scanner(process.getInputStream());
			     String line = null;
			     
			     while(scanner.hasNextLine()){
			            System.out.println(scanner.nextLine() +" Peter");
			        }
			     System.out.println("pepoperkeprgep");
			     
			     System.out.println("Hallo4");
			     System.out.println("Hallo5");
			 }

Keine Ahnung was das Programm nach der while() schleife macht, aber es gibt definitiv NICHT die 3 nachfolgenden pirnln's aus!!
Wieso?!

Gruß
 
D

drher5z456sd

Gast
Lösung:
Java:
			     while(scanner.hasNextLine())
			     {
			    	 System.out.println(scanner.nextLine() +" Peter");
			    	 process.getOutputStream().close();
			     }
 
G

Gast2

Gast
Du brauchst den outputstream nicht in jedem schleifendurchlauf schließen, einmal nach der schleife reicht vollkommen. Den ErrorStream solltest du bei der Gelegenheit dann auch direkt noch schließen.
 
S

SlaterB

Gast
nun ja, so wie beschrieben würde die Schleife ohne close() ja ewig weiterlaufen, insofern nicht unbedingt schlecht hier,

falls der InputStream dadurch beendet ist, wird dann anderseits sowieso nur einmal gelesen?
dann könnte man auch auf eine Schleife ganz verzichten, verwirrt nur

evtl. hat man noch das Glück, dass der Scanner vor dem ersten close() gleich eine ganze Menge liest und cacht,
und so doch noch mehrere Schleifendurchläufe zustandekommen, trotz close(), verwegene Situation
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
T ProcessBuilder Output Allgemeine Java-Themen 12
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
H Syntax ProcessBuilder Allgemeine Java-Themen 7
E ProcessBuilder findet Datei nicht Allgemeine Java-Themen 3
V ProcessBuilder exe file Allgemeine Java-Themen 3
L Input/Output ProcessBuilder und Windows - Konsole verbergen? Allgemeine Java-Themen 5
T ProcessBuilder (java.lang.NoClassDefFoundError) Allgemeine Java-Themen 2
G ProcessBuilder Allgemeine Java-Themen 2
B Externe Programme und ProcessBuilder Allgemeine Java-Themen 5
V Shellscript über ProcessBuilder starten Allgemeine Java-Themen 2
A ProcessBuilder Allgemeine Java-Themen 8
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
B ProcessBuilder: kann Ordner im home nicht finden Allgemeine Java-Themen 2
W Windows XP: ProcessBuilder.start: Kommandoshell anzeigen Allgemeine Java-Themen 3
A Runtime oder ProcessBuilder exe starten Allgemeine Java-Themen 3
N ProcessBuilder Allgemeine Java-Themen 5
N ProcessBuilder Allgemeine Java-Themen 8
F ProcessBuilder - Exception Allgemeine Java-Themen 2
J Handle + ProcessBuilder: Wer sieht den Fehler? Allgemeine Java-Themen 2
D Formatierte Ausgabe vom ProcessBuilder Allgemeine Java-Themen 4
D ProcessBuilder und Scanner Probleme mit einigen Prozessen Allgemeine Java-Themen 2
F Pfadangabe bei Processbuilder Allgemeine Java-Themen 4
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
C Schachbrett mit while-schleifen Allgemeine Java-Themen 7
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
A Swing Taschenrechner while Schlaufe Allgemeine Java-Themen 12
I NullPointer während while(){} Allgemeine Java-Themen 4
N Frage zur while-Schleife Allgemeine Java-Themen 18
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
T Rekursion mit While Schleife kombinieren? Allgemeine Java-Themen 4
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
J Schachbrett mit for- oder while-Schleife Allgemeine Java-Themen 22
V Problem in While-Schleife Allgemeine Java-Themen 3
J Konsolen Anwendung mit while(true) Allgemeine Java-Themen 6
T getParameter in while schleife Allgemeine Java-Themen 3
O while - Schleife unterbrechen mit break; Allgemeine Java-Themen 5
M Problem mit while/do Schleife Allgemeine Java-Themen 12
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
N while Schlauf und ActionEvent Allgemeine Java-Themen 2
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
F While(true)-Schleife im JPanel Allgemeine Java-Themen 9
N vergleich mit while und for schleife Allgemeine Java-Themen 7
B while mit BufferedReader beenden Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben