0

我有一个包装器,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但不应该关闭蒸汽,对吗?还是我应该以不同的方式做?

4

1 回答 1

2

您可以将数据写入ByteArrayOutputStream并将其传递给调用者。完成对 BAOS 的写入后,关闭输入流并将输出流传递给调用者。调用者负责关闭/刷新 BAOS 并释放与其相关的任何内存。

于 2013-03-08T12:15:36.347 回答