В цикле while ниже я хочу прочитать только самую новую строку из вывода Process p, игнорируя все, что входило в буфер, когда цикл спал. Как мне это сделать?java Process, getInputStream, только чтение последней строки
String s;
Runtime r = Runtime.getRuntime();
Process p = r.exec("SomeContinuousProgram");
myInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
while (true){
if ((s = myInput.readLine()) != null) {
System.out.println(s);
}
Thread.sleep(sleep);
}
спасибо. Я понял, что в буфере будет только около 10 строк, прежде чем я получу его снова, поэтому я сделал это: int c = 0; \t \t \t \t \t while ((str = marsyasInput.readLine())! = Null && c <20) C++; – user1971455