Hi Leute,
ich hab hier ein ganz merkwürdiges Problem.
Ich habe eine Klasse die Befehle/Programme ausführt und die Rückgabewerte in einen BufferedReader steckt.
Wenn ich z.B. "help" oder "java" ausführen lasse, kann mein Programm schön die Ausgaben in eine Collection packen (liest vom BufferedReader mit "readLine()").
Wenn ich jetzt aber "javac" ausführe, bleibt mein Programm einfach stehen und zwar genau an der Stelle von dem Aufruf von "readLine()".
Ich hab testweise mal etwas probiert, um es zu beweisen ("in" ist der BufferedReader):
Es wird "Test1" ausgegeben, aber "Test2" wird nie ausgegeben. Wenn ich z.B. "help" oder "java" ausführe, läuft das wunderbar. Wenn ich die drei Befehle manuell auf der Konsole teste, kommt auch überall Text zurück.
Mit dem Debugger kann ich auch nicht in die in "readLine()" reinspringen, hängt sich da auch auf... Wodran kann das denn liegen, dass der BufferedReader sich da einfach gnadenlos aufhängt?
Vielen Dank im Voraus!
Gruß Nova
ich hab hier ein ganz merkwürdiges Problem.
Ich habe eine Klasse die Befehle/Programme ausführt und die Rückgabewerte in einen BufferedReader steckt.
Wenn ich z.B. "help" oder "java" ausführen lasse, kann mein Programm schön die Ausgaben in eine Collection packen (liest vom BufferedReader mit "readLine()").
Wenn ich jetzt aber "javac" ausführe, bleibt mein Programm einfach stehen und zwar genau an der Stelle von dem Aufruf von "readLine()".
Ich hab testweise mal etwas probiert, um es zu beweisen ("in" ist der BufferedReader):
Code:
System.out.println("Test1");
in.readLine();
System.out.println("Test2");
Es wird "Test1" ausgegeben, aber "Test2" wird nie ausgegeben. Wenn ich z.B. "help" oder "java" ausführe, läuft das wunderbar. Wenn ich die drei Befehle manuell auf der Konsole teste, kommt auch überall Text zurück.
Mit dem Debugger kann ich auch nicht in die in "readLine()" reinspringen, hängt sich da auch auf... Wodran kann das denn liegen, dass der BufferedReader sich da einfach gnadenlos aufhängt?
Vielen Dank im Voraus!
Gruß Nova