/**
* 緩存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重復利用
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 前端總會遇到重復點擊的問題,由于網絡的原因,用戶不能及時得到反饋,就很可能會選擇再點擊一次, 所以這個時候就會向后...
- 記日記就象以前的“航海日記”一樣,有助于我們更好的體悟我們獨特的個體生活;人生是個短暫的生命旅程。 這里的日記還有...
- 你啊,就別說你還好了。 昨晚我發給你的歌聽了吧?歌里唱:「我才懶得給你解藥,反正你愛來這一套,為愛情折腰,難道不是...