Hallo,
ich erzeuge in Java einen Prozess, welcher auf stdout (c-printf) Daten ausgibt.
Diese Daten möchte ich nun lesen.
Allerdings kommt in meinem Javaprogramm nichts an. Woran liegt das?
Dieses Beispiel geht auch nicht: http://www.java2s.com/Code/JavaAPI/java.lang/ProcessgetInputStream.htm
Kennt einer ne Lösung?
Hab irgendwann mal gelesen, dass man die Prozess-Streambehandlung nur in einem extra Thread machen kann... stimmt das?
Danke
ich erzeuge in Java einen Prozess, 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:
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();
}
Dieses Beispiel geht auch nicht: http://www.java2s.com/Code/JavaAPI/java.lang/ProcessgetInputStream.htm
Kennt einer ne Lösung?
Hab irgendwann mal gelesen, dass man die Prozess-Streambehandlung nur in einem extra Thread machen kann... stimmt das?
Danke