这是我的问题的片段代码:
Process process = Runtime.getRuntime().exec(command);
if (process.waitFor() != 0)
throw new Exception("error");
reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
运行过程正在产生巨大的输出。如果我将输出重定向到文件,则该过程终止得更快,然后在屏幕上打印输出(标准输出)。由于磁盘性能低、文件系统权限等原因,我不希望将输出重定向到文件。
执行 process.waitFor() 时,Java 将被阻塞,直到进程(被调用者)终止,这可能需要很长时间。所以为了绕过这个问题,我想将进程的标准输出重定向到阅读器的流输入(代码的最后一行)。即,被调用者应该向与阅读器链接的流生成输出,而不是在屏幕上打印输出。
希望我足够清楚。我想知道我该怎么做?任何帮助都会很棒。