为进程设置OutputStream
|
这是我的问题的摘录代码:
Process process = Runtime.getRuntime().exec(command);
if (process.waitFor() != 0)
throw new Exception(\"error\");
reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
运行过程产生了巨大的产出。如果我将输出重定向到文件,该过程将更快终止,然后在屏幕上打印输出(标准输出)。
由于磁盘性能低下,文件系统权限等,我不希望将输出重定向到文件。
执行process.waitFor()时,Java被阻塞,直到进程(被调用方)终止,这可能需要很长时间。因此,为了绕过此问题,我想将流程的标准输出重定向到阅读器的流输入(代码的最后一行)。即,被调用方应向与阅读器链接的流产生输出,而不是在屏幕上打印输出。
希望我足够清楚。我不知道该怎么办?任何帮助都会很棒。
没有找到相关结果
已邀请:
2 个回复
艰管垮淮
,在Windows上为
。所有输出将被丢弃,您不必担心文件权限,性能等问题。 如果您确实关心输出,请看一下这篇文章,该文章为您展示使用
读取进程的stdout / stderr的正确方法。
阀傻