InputStream多次重复使用解决方案

内容纲要

将1个输入流转换为2个输入流使用

InputStream fis = xxx;
// 使fis流可以使用多次
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer0 = new byte[1024];
int len0;
while ((len0 = fis.read(buffer0)) > -1 ) {
    byteArrayOutputStream.write(buffer0, 0, len0);
}
// 强制输出缓冲区
byteArrayOutputStream.flush();
//将byteArrayOutputStream可转换成多个InputStream对象,达到多次读取InputStream效果
InputStream inputStreamA = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
InputStream inputStreamB = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward