开发手册 欢迎您!
软件开发者资料库

Java 复制克隆(clone)InputStream的方法及示例代码

本文主要介绍Java中,使用ByteArrayOutputStream和ByteArrayInputStream、IOUtils.toBufferedInputStream复制克隆(clone)InputStream的几种方法,以及相关的示例代码。

1、使用ByteArrayOutputStream和ByteArrayInputStream复制克隆(clone)InputStream

ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = input.read(buffer)) > -1 ) {
baos.write(buffer, 0, len);
}
baos.flush();
InputStream is1 = new ByteArrayInputStream(baos.toByteArray());
InputStream is2 = new ByteArrayInputStream(baos.toByteArray());

或者

ByteArrayOutputStream baos = new ByteArrayOutputStream();input.transferTo(baos);InputStream firstClone = new ByteArrayInputStream(baos.toByteArray()); InputStream secondClone = new ByteArrayInputStream(baos.toByteArray()); 

相关文档

InputStream.transferTo

ByteArrayOutputStream

ByteArrayInputStream

2、使用apache.commons的IOUtils.toBufferedInputStream复制克隆(clone)InputStream

maven引用commons-io的pom.xml的配置

    commons-io    commons-io    2.4
public void cloneStream() throws IOException{    InputStream toCopy=IOUtils.toInputStream("aaa");    InputStream dest= null;    dest=IOUtils.toBufferedInputStream(toCopy);    toCopy.close();    String result = new String(IOUtils.toByteArray(dest));    System.out.println(result);}

相关文档

Java InputStream流转换读取成byte[]字节数组方法及示例代码

Java 使用Stream I/O(InputStream/OutputStream)读写文件的方法及示例代码

Java InputStream流转换读取成String字符串方法及示例代码