我有两个对象:
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/