Hallo,
ich erzeuge in Java einen Prozess (in C geschriebenes Programm), welcher auf stdout (c-printf) Daten ausgibt.
Diese Daten möchte ich nun lesen.
Allerdings kommt in meinem Javaprogramm nichts an. Woran liegt das?
[code=Java] Process process = null;
ProcessBuilder pb = new ProcessBuilder(..pfad..);
try {
process = pb.start();
System.out.println("Process started");
} catch (IOException e) {
System.out.println("Could not start process");
System.exit(1);
}
inStream = process.getErrorStream();
stdout = process.getInputStream();
int b;
try {
while((b = stdout.read()) != -1) {
System.out.print((char)b);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}[/code]
Dieses Beispiel geht auch nicht: Process: getInputStream() : Processjava.langJava by API
Kennt einer ne Lösung?
Hab irgendwann mal gelesen, dass man die Prozess-Streambehandlung nur in einem extra Thread machen kann... kann mich aber nicht mehr genau erinnern.
Danke