我正在使用一个线程来捕获进程的流输出,然后将该流输出到eclipse控制台.我的问题是何时终止正在进行流输出的线程.
Thread t = new Thread(new Runnable(){
private boolean isProcessDone(Process p)
{
//not sure what to do here
}
public void run()
{
Process p = Runtime.getRuntime().exec("executable with output");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader error = new BufferedReader (new InputStreamReader(p.getErrorStream()));
while ( !isProcessDone(p) ) {
String line;
if( (line = input.readLine()) != null )
{
System.out.println(line);
}
if( (line = error.readLine()) != null )
{
System.out.println(line);
}
}
input.close();
error.close();
}
});
t.start();
Run Code Online (Sandbox Code Playgroud)
我的问题是该isProcessDone()功能属于什么.我基于此的示例使用了流的ready()功能,但我不清楚这是否适用于std …