G
Gwaihirr
Hallo miteinander!
Wenn ich mit einem ProcessBuilder Objekt die Kommandozeile von Windows aufrufen möchte, und den Output (also die ersten Zeilen bis zur Inputabfrage der Kommandozeile) auf System.out ausgeben möchte gerät folgender Code in eine Endlosschleife:
ProcessBuilder pb = new ProcessBuilder("cmd");
Process p = pb.start();
Scanner s = new Scanner(p.getInputStream());
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Dabei möchte ich eigentlich ein externes Programm starten, an dieses beliebig viele Commands nacheinander abschicken.
Ich will aber das externe Programm nach dem Abschicken des ersten Befehls weiterhin mit Befehlen füttern, sobald aber eine Eingabeaufforderung des Programms kommt (hier die des cmd) gerät das Lesen des Process-InputStreams in eine Endlosschleife. Wie kann ich das Problem lösen?
Vielen Dank für eure Mühen
Wenn ich mit einem ProcessBuilder Objekt die Kommandozeile von Windows aufrufen möchte, und den Output (also die ersten Zeilen bis zur Inputabfrage der Kommandozeile) auf System.out ausgeben möchte gerät folgender Code in eine Endlosschleife:
ProcessBuilder pb = new ProcessBuilder("cmd");
Process p = pb.start();
Scanner s = new Scanner(p.getInputStream());
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Dabei möchte ich eigentlich ein externes Programm starten, an dieses beliebig viele Commands nacheinander abschicken.
Ich will aber das externe Programm nach dem Abschicken des ersten Befehls weiterhin mit Befehlen füttern, sobald aber eine Eingabeaufforderung des Programms kommt (hier die des cmd) gerät das Lesen des Process-InputStreams in eine Endlosschleife. Wie kann ich das Problem lösen?
Vielen Dank für eure Mühen
