可以使Java中的有时例行任务变得更加轻松的JDK 9的次要补充之一是方法InputStream.transferTo(OutputStream)的增加 。 顾名思义,此方法允许将字节轻松地从调用该方法的对象表示的输入流传输(复制)到提供给该方法的输出流。 或者,如该方法的Javadoc注释所述, InputStream.transferTo(OutputStream)
“从此输入流中读取所有字节,并按读取顺序将这些字节写入给定的输出流中。”
关于JavaDoc的更多评论,包括以下语句的InputStream.transferTo(OutputStream)
方法:
- “此方法不会关闭任何一个流。”
- “强烈建议在发生I / O错误时立即关闭两个流。”
处理上面显示的两个问题的最简单方法是在InputStream.transferTo(OutputStream)
方法的Javadoc注释中表达的方法是在try-with-resources语句中实例化源InputStream和目标OutputStream 。 下一个代码清单中显示了一个示例。
StreamsTransfer.java
:使用InputStream.transferT