将Java InputStream的内容写入OutputStream的简单方法

问题:

我惊讶地发现今天我无法追溯到Java中将InputStream的内容写入OutputStream的任何简单方法。显然,字节缓冲区代码不难写,但我怀疑我只是错过了一些使我的生活更轻松(代码更清晰)的东西。
那么,给定一个InputStream in和一个OutputStream out,写一个更简单的方法呢?

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();

…在你的代码
有没有理由避免IOUtils

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Easy way to write contents of a Java InputStream to an OutputStream

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 1 =