/**
* 缓存InputStream,以便InputStream的重复利用
*/
public class InputStreamCacher {
/**
* 将InputStream中的字节保存到ByteArrayOutputStream中。
*/
private ByteArrayOutputStream byteArrayOutputStream = null;
/**
* InputStream的重复利用
*
* @param inputStream
* @return
*/
public InputStreamCacher(InputStream inputStream) {
if (inputStream == null) {
return;
}
byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
try {
while ((len = inputStream.read(buffer)) > -1) {
byteArrayOutputStream.write(buffer, 0, len);
}
byteArrayOutputStream.flush();
} catch (IOException e) {
throw new RuntimeException("缓存InputStream异常:", e);
}
}
/**
* 获取缓存的流
*
* @return
*/
public InputStream getInputStream() {
if (byteArrayOutputStream == null) {
return null;
}
return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
}
}
InputStream重复利用
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前端总会遇到重复点击的问题,由于网络的原因,用户不能及时得到反馈,就很可能会选择再点击一次, 所以这个时候就会向后...
- 记日记就象以前的“航海日记”一样,有助于我们更好的体悟我们独特的个体生活;人生是个短暂的生命旅程。 这里的日记还有...
- 你啊,就别说你还好了。 昨晚我发给你的歌听了吧?歌里唱:「我才懒得给你解药,反正你爱来这一套,为爱情折腰,难道不是...