我有一个 ProcessBuilder
的包装器,以便任何需要运行进程的类都可以使用它。
该类传递过程和参数并将返回结果。
结果将是 Process
的输出流或我猜的错误流。
我的问题是如何在线程之间传递流?我的意思是我正在做类似以下的事情:
String line=null;
try {
while ( (line = br.readLine()) != null) {
if (pw != null)
pw.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
if (pw != null)
pw.flush();
我想我应该冲洗
但不关闭 Steam ,对吗?或者我应该采取不同的做法?
最佳答案
您可以将数据写入 ByteArrayOutputStream并将其传递给调用者。完成对 BAOS 的写入后,关闭输入流并将输出流传递给调用者。调用者有责任关闭/刷新 BAOS 并释放与其关联的任何内存。
关于java - 如何将流从一个线程传递到另一个线程?也许我应该采取不同的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291980/