【发布时间】:2011-07-04 10:36:26
【问题描述】:
byte[] bytes = value.getBytes();
Process q = new ProcessBuilder("process","arg1", "arg2").start();
q.getOutputStream().write(bytes);
q.getOutputStream().flush();
System.out.println(q.getInputStream().available());
我正在尝试将文件内容流式传输到可执行文件并捕获输出,但输出(InputStream)始终为空。如果我指定文件位置但不使用流式输入,我可以捕获输出。
我该如何克服这个问题?
【问题讨论】:
-
您还没有告诉我们问题出在哪里。您正在写入的过程需要从标准中读取 - 是吗?
-
对不起,整个程序挂了。我认为它可能陷入僵局。这可能是由于数据 5 - 10 mb(日志文件)的大型性质
-
你确定你从ProcessBuilder得到的InputStream支持available方法吗?大多数实现不支持这一点,只返回 0。