当前位置: 移动技术网 > IT编程>开发语言>Java > inputstream 解决只能读取一次

inputstream 解决只能读取一次

2020年07月13日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网