从外部进程读取大量数据时,InputStream会阻塞

时间:2015-06-25 15:00:54

标签: java io inputstream

我在获取数据舞会Process.exec()时遇到了一些问题 我必须从Java调用一个可以工作很长时间的进程,这个进程可以生成大量数据。
我现在在做的是:

public InputStream exec() throws IOException, InterruptedException{
    ProcessBuilder pb = new ProcessBuilder(args);
    Process p = pb.start();
    p.waitFor();
    return p.getInputStream();
}

此代码在运行一段时间后会阻塞。我假设正在填充InputStream缓冲区,它正在等待我从中读取。
我想返回InputStream,因为这个输出可以但不一定要被压缩,所以我可以在以后解压缩这个输出,并且我必须将此输出读作字节输出流
如何运行此过程并获取其输出数据?

0 个答案:

没有答案