ProcessBuilder InputStream in Array speichern

winzik77

Mitglied
Hallo!
Ich versuche den InputStream in ein Array abzulegen solange die readLine != 0 ist.
Wie aus dem output ersichtlich bekomme ich im Array immer zuletzt eine "null".
1. Wie krieg ich den 14. weg?
2. kann ich die Leerzeilen 2 und 4 auch irgendwie loswerden?
Danke, lg winzik

Code:
Java:
//Processbuilder Start
    	try {
    		ProcessBuilder pb = new ProcessBuilder("cmd", "/c","dir");//("bash", "-c","dir")
    		pb.directory( new File("C:/Users/Kerstin/Downloads") );
    		Process pr = pb.start();
    		pr.waitFor();
    		//Scanner reader = new Scanner ( pr.getInputStream() ).useDelimiter("\\Z");//(pr.getInputStream())
    		BufferedReader reader = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    		StringBuffer sb = new StringBuffer();
    		int counter1 = 0;
    		ArrayList<String> processarray = new ArrayList<String>();

			String line = reader.readLine();
			//sb.append(line);
			while (line != null) {
				line = reader.readLine();
				//sb.append(line);
				processarray.add(counter1,line);
				counter1++;
				System.out.println("Processbuilder Output: "+counter1+": "+line);
			}
    		} catch (Exception e) {
			e.printStackTrace(); }
Output:
Processbuilder Output: 1: Volumeseriennummer: CA05-B723
Processbuilder Output: 2:
Processbuilder Output: 3: Verzeichnis von C:\Users\Kerstin\Downloads
Processbuilder Output: 4:
Processbuilder Output: 5: 16.09.2013 19:06 <DIR> .
Processbuilder Output: 6: 16.09.2013 19:06 <DIR> ..
Processbuilder Output: 7: 10.03.2013 12:17 <DIR> Adobe CS5 Master Pack de
Processbuilder Output: 8: 16.09.2013 19:06 131.337.120 jdk-7u40-windows-x64.exe
Processbuilder Output: 9: 26.04.2013 08:28 993.769 xtc5_blau_xtcmodified-1.05.zip
Processbuilder Output: 10: 26.04.2013 12:35 993.719 xtc5_oliv_xtcmodified-1.05.zip
Processbuilder Output: 11: 26.04.2013 08:35 993.292 xtc5_rot_xtcmodified-1.05.zip
Processbuilder Output: 12: 4 Datei(en), 134.317.900 Bytes
Processbuilder Output: 13: 3 Verzeichnis(se), 539.212.091.392 Bytes frei
Processbuilder Output: 14: null
 

rme

Top Contributor
Deine Schleife holt sich die neue line und verarbeitet sie direkt - aber ob sie null ist, wird erst wieder am Anfang der nächsten Schleife geprüft. Du könntest stattdessen z.B. eine do-while-Schleife verwenden, bei der wird die Bedingung erst am Ende geprüft :)

Oder du baust noch eine if-Abfrage in die Schleife ein, direkt nach dem Zuweisen an line - und sorgst ggf. mit einem break dafür, dass bei line == null die Schleife verlassen wird.
 

winzik77

Mitglied
Danke! Teil 1 hat mit continue geklappt!
Java:
			String line = reader.readLine();
			while (line != null) {
				line = reader.readLine();
				if (line == null) continue;
				processarray.add(counter1,line);
				counter1++;
				System.out.println("Processbuilder Output "+counter1+": "+line);
			}
    		} catch (Exception e) {
			e.printStackTrace(); }

So hats funktioniert. Allerdings habe ich immer noch Zeile 2 und 4 die zwar leer sind aber nicht "null".
Habst mit
Java:
if (line == "") break;
probiert allerding dürfte die command-line etwas anderes als "null" oder ein Leerzeichen liefern. Irgendein Tip?
Danke, lg winzik
 
Zuletzt bearbeitet:

winzik77

Mitglied
Habs geschafft:
Java:
String line = reader.readLine();
				while (line != null) {
					line = reader.readLine();
					if (line == null) continue;
					processarray.add(counter1,line);
						if (processarray.get(counter1).length()==0) {
							//System.out.println(processarray.get(counter1));
							processarray.remove(counter1);
							continue;
						}
					counter1++;
					System.out.println("Processbuilder Output "+counter1+": "+line);
				}
				System.out.println(processarray);
    		} catch (Exception e) {
			e.printStackTrace(); }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ralfb1105 Ausgaben von ProcessBuilder Prozess "streamen" Java Basics - Anfänger-Themen 25
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Befehle in ProcessBuilder nachschieben Java Basics - Anfänger-Themen 2
D Cmd xcopy processbuilder Java Basics - Anfänger-Themen 6
Q ProcessBuilder kann datei nicht finden Java Basics - Anfänger-Themen 2
W Java ProcessBuilder - externer Prozess nur einmal starten und mehrere Inputs geben Java Basics - Anfänger-Themen 7
A ProcessBuilder problem Java Basics - Anfänger-Themen 4
G ProcessBuilder Java Basics - Anfänger-Themen 9
W ProcessBuilder Problem -->gelöst - - Jetzt JEditorPane Problem Java Basics - Anfänger-Themen 6
I gibt es ein Verb beim ProcessBuilder? Java Basics - Anfänger-Themen 6
N ProcessBuilder Java Basics - Anfänger-Themen 4
G Problem mit ProcessBuilder und "rm" unter Linux Java Basics - Anfänger-Themen 4
C Konstruktor ProcessBuilder Java Basics - Anfänger-Themen 11
M ProcessBuilder und OutputStream Java Basics - Anfänger-Themen 2
A Wie nutze ich InputStream? Java Basics - Anfänger-Themen 7
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
berserkerdq2 inputstream und bufferedwirter /outputstream und bufferedwriter Java Basics - Anfänger-Themen 9
T Bluetooth, Inputstream Java Basics - Anfänger-Themen 0
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
B InputStream / OutputStream / PipedOutputStream und managedExecutorService Java Basics - Anfänger-Themen 3
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
B Hilfe bei InputStream To File Java Basics - Anfänger-Themen 22
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
B Konvertieren: Outputstream zu Inputstream Java Basics - Anfänger-Themen 13
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D InputStream parsen und als Bilddatei abspeichern Java Basics - Anfänger-Themen 1
G Input/Output InputStream gibt nicht die Korrekten Werte aus Java Basics - Anfänger-Themen 10
T Datentypen InputStream to list of Int (or similar) Java Basics - Anfänger-Themen 4
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
T Input/Output Exception bei einem InputStream Java Basics - Anfänger-Themen 2
K InputStream erstellen Java Basics - Anfänger-Themen 4
B Input/Output Data / Buffer / File Outstream Inputstream Java Basics - Anfänger-Themen 2
L Webservice soll InputStream übergeben bekommen Java Basics - Anfänger-Themen 7
S Eigener InputStream, Hilfe bei read-Methode Java Basics - Anfänger-Themen 6
C InputStream Java Basics - Anfänger-Themen 2
O Input/Output Fragen zum InputStream Java Basics - Anfänger-Themen 7
E Input/Output Relativer Bild-Pfad für InputStream Java Basics - Anfänger-Themen 5
G Frage zu InputStream? Java Basics - Anfänger-Themen 11
E Socket InputStream "terminiert" nicht Java Basics - Anfänger-Themen 4
E Input/Output Inputstream während der Laufzeit füllen Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
B Input/Output InputStream (JSch) in OutputStream (Blob) überführen Java Basics - Anfänger-Themen 8
P Input/Output InputStream Listener? Java Basics - Anfänger-Themen 7
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
S Input/Output Neuen InputStream System.in setzen Java Basics - Anfänger-Themen 11
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
J InputStream FTP Java Basics - Anfänger-Themen 8
brunothg Inputstream zu Filechannel Java Basics - Anfänger-Themen 6
K StringWriter/String nach InputStream konvertieren Java Basics - Anfänger-Themen 3
Benji0815 Inputstream aus Konsole in JTextArea Java Basics - Anfänger-Themen 14
A Problem mit InputStream Java Basics - Anfänger-Themen 4
bastiann Kann man Inputstream nur auf ein Zeichen anwenden? Java Basics - Anfänger-Themen 5
U Inputstream.read()/readLine() blockiert immer Java Basics - Anfänger-Themen 18
S Problem mit url, inputStream und bytes beim Quellcode laden. Java Basics - Anfänger-Themen 6
G Kompletten InputStream der Kommandokonsole ausgeben Java Basics - Anfänger-Themen 8
G InputStream aufrufen, ändern und zurück geben Java Basics - Anfänger-Themen 2
W Zeichen ersetzen im InputStream Java Basics - Anfänger-Themen 3
N String vom InputStream in TextArea übertragen Java Basics - Anfänger-Themen 6
A Frage zu Puffergröße bei InputStream Java Basics - Anfänger-Themen 9
G in einem inputstream auf " " abfragen? Java Basics - Anfänger-Themen 3
M Datei speichern mittels InputStream Java Basics - Anfänger-Themen 13
P InputStream in Byte-Array speichern Java Basics - Anfänger-Themen 2
G String in InputStream umwandeln? Java Basics - Anfänger-Themen 8
M Auslesen eines InputStream Java Basics - Anfänger-Themen 4
M Problem mit InputStream Java Basics - Anfänger-Themen 7
S Probleme mit InputStream- Rückgabe Java Basics - Anfänger-Themen 4
I InputStream von Konsole abfangen Java Basics - Anfänger-Themen 6
G InputStream im finally-Block schließen Java Basics - Anfänger-Themen 7
K InputStream? Java Basics - Anfänger-Themen 3
S Sockets and InputStream Java Basics - Anfänger-Themen 2
M InputStream einer Socketverbindung funktioniert nicht Java Basics - Anfänger-Themen 19
M Byte InputStream zu Zeichenformat Unicode bzw String konvert Java Basics - Anfänger-Themen 5
R InputStream erstellen, der aus String liest Java Basics - Anfänger-Themen 8
R ENTER in InputStream nicht lesen Java Basics - Anfänger-Themen 4
G InputStream auslesen und zurückschreiben Java Basics - Anfänger-Themen 9
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
R Suche geeignetes InputStream Java Basics - Anfänger-Themen 2
D InputStream -> Image Java Basics - Anfänger-Themen 6
M String zu InputStream/InputSource Java Basics - Anfänger-Themen 2
S Problem mit InputStream / flush() / BufferedReader Java Basics - Anfänger-Themen 19
C Aus ein Image-Objekt einen InputStream generieren? Java Basics - Anfänger-Themen 6
J InputStream in String umwandeln Java Basics - Anfänger-Themen 5
J InputStream ist null Java Basics - Anfänger-Themen 7
P InputStream, BufferedString Java Basics - Anfänger-Themen 3
A Zeichenkette teilen mit Substring oder Char Array Java Basics - Anfänger-Themen 14
A 6. Element aus einem Array zurückgeben Java Basics - Anfänger-Themen 1
A Was bedeutet bei einem Array "int a [MAX][MAX];", Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben