我有一个方法,它将数据写入OutputStream,但需要将OutputStream的内容作为InputStream 返回
public InputStream getInputStreamOfData(type param) {
// ..... data
OutputStreamWriter writer = new OutputStreamWriter();
writer.write(data);
// convert writer object to an InputStream
}
我偶然发现一些库可以做到这一点,比如IOUtils和其他基于线程的方法。有没有一种简单的方法可以使用标准Java库来实现这一点?我想将编写器中的内容作为InputStream返回,由调用方法使用。
谢谢!
写入ByteArrayOutputStream
,然后获取字节数组,并从该字节数组返回ByteArrayInputStream
。
我认为正确的方法是使用PipedInputStream。它就像unix管道(在高级中)。PipedInputStream构造函数采用PipedOutputStream,所以如果您向PipedOututStream写入,您将得到您想要的!
祝你好运!