问题场景:
我在使用poi读取文档时,在两个方法中调用了流,第一个方法时读取表单第一行,第二个方法是读取全部文档
1.报错
显示流已经被关闭了
我想到的解决办法是在复制一个流
于是我就写了以下代码
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
IoUtil.copy(in, outputStream);
byte[] byteArray = outputStream.toByteArray();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArray);
xxx(in);
xxx1(byteArrayInputStream );
还是报错
修改代码后
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
IoUtil.copy(in, outputStream);
byte[] byteArray = outputStream.toByteArray();
ByteArrayInputStream in= new ByteArrayInputStream(byteArray);
ByteArrayInputStream in2= new ByteArrayInputStream(byteArray);
xxx(in);
xxx(in2);
没有报错了…
原因:
有没有大佬知道的,麻烦留言评论告知以下,谢谢