使用标准Java库获取Writer的InputStream



我有一个方法,它将数据写入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写入,您将得到您想要的!

祝你好运!

相关内容

  • 没有找到相关文章