当前位置: 首页 > news >正文

POI 导入导出时异常[java.io.IOException: Broken pipe]

使用用POI导出文件时抛出异常java.io.IOException: Broken pipe

ERROR:  'java.io.IOException: Broken pipe'
org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save: an error occurs while saving the package : The part /docProps/core.xml fail to be saved in the stream with marshaller org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller@783e76d

原因:输入流,输出流在使用之后(输入流用于构造函数,输出流用于写入数据),再使用同样的流做之前的事会报错(再使用输入流报错流为空,再使用输出流报错为 org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save: an error occurs while saving the package : The part /docProps/app.xml failed to be saved in the stream with marshaller org.apache.poi.openxml4j.opc.internal.marshallers.DefaultMarshaller@4bbfb90a)。所以对于同一个引用的流,在使用之后还想要继续使用的话,必须重新新建一个流对象

 

记得使用只用及时关闭 流。为了避免在特殊情况下导致流关闭失败,应该吧关闭流的操作放在finally代码块中

}finally {
            inputStream.close();
            ouputStream.close();
            workbook.close();
}

 

转载于:https://www.cnblogs.com/UncleWang001/p/9598597.html

相关文章:

  • linux安全基本防护
  • 网络安全与主机基本防护-linux鸟哥的私房菜服务器篇07(阅读笔记)
  • Andrew Ng经典机器学习课程的Python实现(第1部分)
  • TCP/IP 笔记三
  • R中绘制聚类的离散图
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 如何在电脑上测试手机网站(补充)和phonegap
  • Qt之在QGraphicsView中绘图
  • 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密...
  • springBoot 整合 Hazelcast 作为缓存中间件
  • 初识python:格式化输出
  • 算法起步之Kruskal算法
  • 回文自动机学习笔记
  • 深入理解Java类加载器(ClassLoader)
  • @我的前任是个极品 微博分析
  • conda常用的命令
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript中的对象个人分享
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Meteor的表单提交:Form
  • node.js
  • rc-form之最单纯情况
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Swoft 源码剖析 - 代码自动更新机制
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • XForms - 更强大的Form
  • 后端_ThinkPHP5
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端设计模式
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 写给高年级小学生看的《Bash 指南》
  • 一些css基础学习笔记
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #android不同版本废弃api,新api。
  • #HarmonyOS:Web组件的使用
  • #include
  • #Linux(帮助手册)
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)fread与fwrite详解
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET MVC第三章、三种传值方式
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET企业级应用架构设计系列之技术选型
  • @RequestParam详解
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码