欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

inputstream 解决只能读取一次

程序员文章站 2022-06-16 18:03:19
inputstream只能读取一次如果你需要多次读取解决方案:1.客户端一次发送两次请求表单一次,ajax中再一次主要是因为 request 请求无法备份一份出来2.把inputstream流复制下来实现复制功能的类import java.io.ByteArrayOutputStream;import java.io.InputStream;public class StreamUtils { public static byte[] getByteByStream(InputS...

inputstream只能读取一次

如果你需要多次读取

解决方案:

1.客户端一次发送两次请求

表单一次,ajax中再一次

主要是因为 request 请求无法备份一份出来

(对象的赋值是地址赋值)

2.把inputstream流复制下来

实现复制功能的类

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
public class StreamUtils {
    public static byte[] getByteByStream(InputStream is) throws Exception {
        byte[] buffer=new byte[1024];  
        int len=0;  
        ByteArrayOutputStream bos=new ByteArrayOutputStream();  
        while((len=is.read(buffer))!=-1){  
            bos.write(buffer,0,len);  
        }  
        bos.flush();  
        return bos.toByteArray();  
    }
}

利用字节数组保存,需要用到时再转化回去

InputStream stream = new ByteArrayInputStream(StreamUtils.getByteByStream(InputStream));

本文地址:https://blog.csdn.net/a10201516595/article/details/107259286