inputStream如何实现流复制呢?

书欣 Java经验 发布时间:2022-08-03 16:23:05 阅读数:8461 1
下文笔者讲述inputStream实现流复制的方法分享,如下所示
实现思路:
   1.将InputStream 转化成 ByteArrayOutputStream
   2.另一个InputStream将ByteArrayOutputStream转换回来即可
例:
package com.java265;
 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
 
public class StreamOperateUtil {

    public static void main(String[] args) throws FileNotFoundException {
         
        InputStream input =  new FileInputStream("D:\\test01.txt"); 
        //InputStream input =  httpconn.getInputStream(); //这里可以写获取到的流
        
        ByteArrayOutputStream baos = cloneInputStream(input);
        
        // 打开两个新的输入流  
        InputStream stream1 = new ByteArrayInputStream(baos.toByteArray());  
        InputStream stream2 = new ByteArrayInputStream(baos.toByteArray());
        
    }
 
    private static ByteArrayOutputStream cloneInputStream(InputStream input) {
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len;
            while ((len = input.read(buffer)) > -1) {
                baos.write(buffer, 0, len);
            }
            baos.flush();
            return baos;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202208/16595150314132.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者