关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
8年前关闭。
Improve this question
我有两个对象:
BufferedReader br;
CMSSignedData cms;
我必须将 cms 内容写入
BufferedReader
cms 有这个方法: cms.getSignedContent().write(OutputStream os);
但是如何获得
OutputStream
来自 BufferedReader
?这是我的尝试:
ByteArrayOutputStream os=new ByteArrayOutputStream();
cms.getSignedContent().write(os);
InputStream is=new ByteArrayInputStream(os.toByteArray());
BufferedReader br = new BufferedReader(new InputStreamReader(is));
但我认为这不是最好的方法。
最佳答案
我认为您想要的是管道输入/输出流。
PipedOutputStream os = new PipedOutputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(new PipedInputStream(os)));
cms.getSignedContent().write(os);
但是请注意 piet.t 对线程的评论。
以及检查相关的 API 文档:
关于java - 从 BufferedReader 获取 OutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399502/