如何将InputStream写入OutputStream?

2025-04-09 09:26:48

1、Apache Commons IO库有几个流操作,可以显著减少需要编写的样板代码量。

如何将InputStream写入OutputStream?

2、一个常见的模式是需要将InputStream连接到OutputStream。例如,您可能希望将传入HTTP请求的内容直接写到磁盘上,用于文件上传表单或类似的内容。

如何将InputStream写入OutputStream?

3、下图显示了IOUtils类的copy方法的使用步骤:

如何将InputStream写入OutputStream?

4、我们可以看看IOutils.copy方法之后输出的日志如下图:

如何将InputStream写入OutputStream?

5、Assert.assertNotSame方法确认构造了一个全新的字符串,copy方法将每个字节传输到OutputStream。

6、上面步骤使用ByteArrayInputStream和ByteArrayOutputStream来演示这个功能,但是这两个流都是针对接鄹绦谟嚣口声明的。实际上,您很可能使用不同的流,并依赖于从磁盘或网络接口等第三方读取或写入数据。

7、IOUtils类上的copy方法被重载,以便在将字节源从一个位置复制到另一个位置时提供尽可能多的灵活性。您可以使用它将阅读器连接到编写器,将阅读器连接到OutputStream,或者将InputStream连接到编写器。

如何将InputStream写入OutputStream?

8、还要注意,OutputStream上的toString方法不一定提供流的内容,因为这些内容可能已经被写到磁盘、网络或其他不可检索的位置。一些OutputStream实现根本不覆盖toString。

9、IOUtils提供了一种使用InputStream将其转换为字符串的方法,如下图所示。

如何将InputStream写入OutputStream?

10、同样,toString方法也是重载的,也可以转换读取器。

如何将InputStream写入OutputStream?
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢