Java实现inputstream流的复制代码实例

  

这篇文章主要介绍了Java实现inputstream流的复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

获取到一个inputstream后,可能要多次利用它进行读的操作。由于流读过一次就不能再读了,而inputstream对象本身不能复制,而且它也没有实现可克隆接口,所以得想点办法。

  

实现思路:

  

1,先把InputStream转化成ByteArrayOutputStream

  

2,后面要使用InputStream对象时,再从ByteArrayOutputStream转化回来

  

代码         包com.test;   进口java.io.ByteArrayInputStream;   进口java.io.ByteArrayOutputStream;   进口java.io.FileInputStream;   进口java.io.FileNotFoundException;   进口java.io.IOException;   进口java.io.InputStream;   公开课StreamOperateUtil {   公共静态void main (String [] args)抛出FileNotFoundException {   InputStream输入=new FileInputStream (“c: \用法”);//InputStream输入=httpconn.getInputStream ();//这里可以写你获取到的流   ByteArrayOutputStream包=cloneInputStream(输入);//打开两个新的输入流   InputStream stream1=new ByteArrayInputStream (baos.toByteArray ());   InputStream stream2=new ByteArrayInputStream (baos.toByteArray ());   }   私有静态ByteArrayOutputStream cloneInputStream (InputStream输入){   尝试{   ByteArrayOutputStream包=new ByteArrayOutputStream ();   byte[]新字节缓冲区=[1024];   int len;   而((len=input.read(缓冲))比;1){   包。写(缓冲区,0,len);   }   baos.flush ();   返回包;   }   抓住(IOException e) {   e.printStackTrace ();   返回null;   }   }   }      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Java实现inputstream流的复制代码实例