public class InputStreamCache {
/**
* 将InputStream中的字节保存到ByteArrayOutputStream中。
*/
private ByteArrayOutputStream byteArrayOutputStream = null;
public InputStreamCache(InputStream inputStream) {
if (Objects.isNull(inputStream)) {
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) {
log.error(e.getMessage(), e);
}
}
public InputStream getInputStream() {
if (Objects.isNull(byteArrayOutputStream)) {
return null;
}
return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
}
}
inputstream 流复用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 声明:本系列只供本人自学使用,勿喷。 IO是每位java工程师都必须掌握的知识点,无论什么项目都会涉及文件IO、网...
- 目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流...
- 上一篇:IO流之字节输出流【OutputStream】https://www.jianshu.com/p/4a62...
- 如果程序要进行数据读取的功能,可以使用InputStream类功能。 虽然与OutputStream一样继承了Cl...
- 流是I/O中的基本操作单元,在流设计中都会提供有输入域输出两方面支持。下面是流操作的基本步骤:如果要操作的是个文件...