博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决inputStream二次读取问题
阅读量:4571 次
发布时间:2019-06-08

本文共 714 字,大约阅读时间需要 2 分钟。

1.inputStream.markSuppored() == true;

可以使用mark()和reset()来实现二次读取

2.当inputStream不支持mark和reset时,

从StackoverFlow找到答案

 

You can use  to copy the contents of the InputStream to a byte array, and then repeatedly read from the byte array using a ByteArrayInputStream. E.g.:

ByteArrayOutputStream baos = new ByteArrayOutputStream();org.apache.commons.io.IOUtils.copy(in, baos);byte[] bytes = baos.toByteArray();// eitherwhile (needToReadAgain) {    ByteArrayInputStream bais = new ByteArrayInputStream(bytes);    yourReadMethodHere(bais);}// orByteArrayInputStream bais = new ByteArrayInputStream(bytes);while (needToReadAgain) {    bais.reset();    yourReadMethodHere(bais);}

转载于:https://www.cnblogs.com/y-blog/p/8920428.html

你可能感兴趣的文章
一些模板
查看>>
jquery和dom元素相互转换
查看>>
放大的X--HDOJ-201307292012
查看>>
题目831-签到-nyoj-20140818
查看>>
百词斩-斩家秘籍
查看>>
Mysql主从配置,实现读写分离
查看>>
TC1570 DesertWind
查看>>
CF277D Google Code Jam
查看>>
(七)unittest单元测试框架
查看>>
(八) 自动化测试的实例(以浏览器为例)
查看>>
js获取单选框和复选框的值并判断值存在后允许转跳
查看>>
《基于MVC的javascript web富应用开发》中的一些函数
查看>>
0014---简单的计算
查看>>
自己写的文字轮播(简陋版)
查看>>
python入门笔记1
查看>>
HTTP协议分析及攻防方法
查看>>
编程我们学到了什么?
查看>>
面向过程和面向对象的对比(转)
查看>>
206. 反转链表
查看>>
622. 设计循环队列
查看>>