发布日期:2018-03-26
Java中将InputStream中的内容写入到OutputStream中的简单方式+ 查看更多
Java中将InputStream中的内容写入到OutputStream中的简单方式
+ 查看更多
发布日期:2018-03-08 17:45
分类:JAVA
浏览次数:130
我很惊讶的发现,在Java中我无法追寻到任何简单的方式来将InputStream的内容写入到OutputStream。显然,字节缓冲区代码不难写,但是我怀疑我只是错过了一些可以使我的生活更容易(代码更清晰)的东西。
所以,对于给定的一个InputStream输入和一个OutputStream输出,有更简单的方法来写下面的代码吗?
所以,对于给定的一个InputStream输入和一个OutputStream输出,有更简单的方法来写下面的代码吗?
byte[] buffer = new byte[1024]; int len = in.read(buffer); while (len != -1) { out.write(buffer, 0, len); len = in.read(buffer); }
回答
正如WMR所提到的,来自Apache的org.apache.commons.io.IOUtils有一个叫做copy(InputStream,OutputStream)的方法,它完全符合你的要求。所以,你可以在你的代码中这样写:
InputStream in; OutputStream out; IOUtils.copy(in,out); in.close(); out.close();