Я новичок в том, что касается Java.Я хотел прочитать стандартный вывод процесса, начатого в Java.Я получил следующий код при поиске в Google:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(args);
BufferedReader br = new BufferedReader(
new InputStreamReader(proc.getInputStream()));
while(br.ready()){
System.out.println(br.readLine());
}
Однако этот код не печатает вывод, который должен произвести процесс (скажем, ls) (кстати, я в Linux, openJDK 1.6)
Но если я изменю цикл while на:
String line;
while((line = br.readLine())!=null){
System.out.println(line);
}
, он будет работать как положено.
В чем проблема с предыдущим кодом?Согласно тому, что сказал java api doc, я думал, что они похожи.