我有一个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();
我想我应该flush
但不关闭蒸汽对吗?还是我应该换一种方式?
您可以将数据写入ByteArrayOutputStream并将其传递给调用者。完成对BAOS的写入后,关闭输入流并将输出流传递给调用者。关闭/刷新BAOS并释放与之关联的任何内存是调用者的责任。