如何从Process写入stdout到HttpServletResponse?

时间:2016-02-19 09:09:45

标签: java servlets phantomjs

我有一个外部脚本,我在Servlet内启动,然后阅读stdout,最后提供要下载的文件。

外部脚本是phantomjs,但这对于这个问题无关紧要。重要的只是我读取和写入stdout流,如下所示:

Process process = new ProcessBuilder("phantomjs", "rasterize.js", url);

InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

OutputStream httpStream = response.getOutputStream();
int bytes;
while ((bytes = br.read()) != -1) {
    httpStream.write(bytes);
}

结果:它可以正常工作,但实际上只需要10秒就可以将{500}实际写入OutputStream

为什么呢?我怎样才能提高性能?

0 个答案:

没有答案