我有一个方法将数据写入OutputStream但需要将OutputStream的内容作为InputStream返回
public InputStream getInputStreamOfData(type param) {
// ..... data
OutputStreamWriter writer = new OutputStreamWriter();
writer.write(data);
// convert writer object to an InputStream
}
我遇到了一些库来执行此操作,例如IOUtils和其他基于线程的方法。有没有一种使用标准Java库实现此目的的简单方法?我想将writer中的内容作为InputStream返回给调用方法使用。
谢谢!
答案 0 :(得分:2)
写入ByteArrayOutputStream
,然后获取字节数组,并从此字节数组返回ByteArrayInputStream
。
答案 1 :(得分:2)
我认为正确的方法是使用PipedInputStream。它就像unix管道(在高级别)。 PipedInputStream构造函数采用PipedOutputStream,因此如果您写入PipedOutputStream,您将得到您想要的内容!
祝你好运!