我在获取数据舞会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,因为这个输出可以但不一定要被压缩,所以我可以在以后解压缩这个输出,并且我必须将此输出读作字节输出流
如何运行此过程并获取其输出数据?