请教:JAVA读取word流异常:Unable to read entire block

请问在JAVA 用POI 在读取Oracle数据库中的Blob word文件时报如下错误,该如何解决,有的读取时没有问题,有的就会报这样的错误.
异常如下:
java.io.IOException: Unable to read entire block; 2 bytes read; expected 512 bytes
at org.apache.poi.poifs.storage.RawDataBlock.<init>(RawDataBlock.java:68)
at org.apache.poi.poifs.storage.RawDataBlockList.<init>(RawDataBlockList.java:52)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:87)
at org.textmining.extraction.word.WordTextExtractor.initWordHeader(Unknown Source)
at org.textmining.extraction.word.Word97TextExtractor.<init>(Unknown Source)
at Timing.ReadWord.ReadWord(ReadWord.java:15)
at Timing.GetInfo.ReadWord(GetInfo.java:11)
at Timing.TimingMaster.RunGongGao(TimingMaster.java:783)
at Timing.TimingMaster.main(TimingMaster.java:49)

在网上看了下,说这个POI的一个BUG,也照所说的方法试了但也不行
http://www.blogjava.net/alex/archive/2006/08/10/62823.html

另外有的还会报这样的错误:
java.io.IOException: Invalid header signature; read 7311066695147732796, expected -2226271756974174256
at org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockReader.java:100)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:84)
at org.textmining.extraction.word.WordTextExtractor.initWordHeader(Unknown Source)
at org.textmining.extraction.word.Word97TextExtractor.<init>(Unknown Source)
at Timing.ReadWord.ReadWord(ReadWord.java:15)
at Timing.GetInfo.ReadWord(GetInfo.java:11)

哪位高手遇到过这样问题,有什么好的解决方案吗.
谢谢.
【ISP图像处理】Demosaic去马赛克技术演进与边缘优化策略 本文深入解析了ISP图像处理中的Demosaic(去马赛克)技术。从Bayer阵列原理出发,梳理了从双线性插值、Hamilton-Adams边缘导向算法到利用通道相关性与自相似性的技术演进历程,并重点探讨了针对边缘与纹理伪影的优化策略,为工程实践中的算法选型与硬件协同设计提供了专业指导。 阅读详情

相关推荐

避坑指南:Win10安装Docker Desktop时Hyper-V报错的7种解决方案(2024最新版)

本文提供了2024年最新、最全面的Windows 10系统下Docker Desktop安装时Hyper-V报错的解决方案指南。文章深入剖析了Hyper-V与Docker的共生关系,并系统性地给出了从BIOS/UEFI设置、Windows功能启用、bcdedit命令修复到处理多虚拟化环境共存等7种核心解决方案,帮助开发者彻底解决安装困局,顺利部署容器化开发环境。

weixin_28840143的博客 530

webflux excel文件上传:java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 byte

webflux excel文件上传报错:java.io.IOException: Unable to read entire header; 275 bytes read; expected 512 bytes 报错代码: @PostMapping(value = "read/excel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ResponseEntity<?> uploadFile( @Api.

闪客 1674

数字IC时序约束实战:深入解析clock_uncertainty的设置策略与后端影响

本文深入探讨数字IC设计中clock_uncertainty的设置策略及其对后端实现的影响。通过分析时钟不确定度的组成(包括clock_skew、clock_jitter和margin),并结合实际项目经验,详细介绍了在不同设计阶段(综合、布局布线、签核)的动态调整方法。文章还提供了工程化处理参数来源、跨时钟域特殊处理以及优化时序收敛的实用技巧,帮助工程师提升数字IC设计的可靠性和性能。

weixin_29284657的博客 229

SB的方法对付SB的java API,处理excel,word经常出现类似于: IOException:Unable to read entire block;

java处理excel,word经常出现类似于: IOException:Unable to read entire block; 362 bytes read; expected 512 bytes 很搞笑。既然expected 512 bytes ,那我就写够512bytes囖。  ByteArrayOutputStream byteOS = new ByteArrayOutputSt

youngmean的专栏 4177

《YOLOv8实例分割实战:训练自己的数据集 》(视频课程)

本课程将手把手地教大家使用labelme标注和使用YOLOv8训练自己的数据集,完成一个多目标实例分割实战项目。

bai666ai的博客 790

YOLO26改进策略【YOLO和Mamba】| MLLA:Mamba-Like Linear Attention,融合Mamba设计优势的注意力机制

本文记录的是利用模块优化的目标检测网络模型。模块具有独特优势。它不同于传统模块,能同时兼顾局部特征高效建模与长距离交互学习。常见模块要么在局部特征处理上有优势但长距离交互能力弱,要么反之,而模块克服了此问题。它融合了Mamba模型和线性注意力机制的优势,通过独特的结构设计,能够在保持计算效率的同时,精准地建模局部特征并学习长距离交互信息。本文将其用于的模型改进和二次创新,能够更加关注图像中的重要特征区域,抑制背景等无关信息的干扰,从而突出目标物体的关键特征。Demystify Mamba in Vision

Limiiiing的博客 214

java.io.IOException: Unable to read entire header; 275 bytes read; expected 512 bytes

今天做了一个上传excel表格的功能,老是报这个错误,这个错误找了老半天了,最后的解决方式也很简单 “readFirst512()将读取您的前512个字节,Inputstream并在没有足够的字节读取时抛出异常。我认为您的文件不够大,无法被POI阅读。” 可以修改一下excel格式或者把xls改成xlsx都行, ...

xubai1314521的博客 4365

uniapp - 如何跟内嵌 web-view 组件内的网页交互,与 web-view 内嵌网页进行双向通信(uniapp 与 webview 网页之间的 “相互“ 传值)提供详细的示例代码及解决方案

uni-app如何实现在H5环境中与web-view中的网页交互通讯uniappuni-app 与 web-view内嵌网页 双向通信 如何跟内嵌web-view交互uniappAPP与webview子页面交互uniappAPP与webview子页面交互关于uni-app 使用 web-view 页面之间互相跳转、通信等问题uniapp的web-view嵌入网页,网页与uniapp通信webview如何与uniapp写的H5页面交互嵌套webview调用uniapp各种API组件实现H5和app通讯和交互

✅ 精选推荐文章 1万+

几个oracle,POI,hibernate常见异常解决办法

POI的Unable to read entire block问题解决办法 在网上看到一些关于这个问题的解决办法,甚至修改POI源代码,但至今没有一个完美的解决方案.我在遇到这个问题时是因为对现有excel添加时报错,新建excel时不报错,所以我先忽略这个错我,把创建excel的其他问题解决后,这个问题也就顺带解决了,就是这样.所以我推测可能是创建excel表的其他问题引起了这个问题.只要解决

zb0567的专栏 1235

基于Simulink的轨道交通信号控制系统仿真详细介绍

轨道交通信号控制系统是确保列车安全、高效运行的核心技术。通过Simulink进行信号控制系统的仿真,可以验证系统的设计、优化调度策略并提高安全性。以下是如何在MATLAB和Simulink中设计并仿真一个轨道交通信号控制系统的详细步骤。通过上述步骤,我们成功设计并实现了基于Simulink的轨道交通信号控制系统仿真。该系统能够根据列车位置、速度和轨道状态生成控制指令,确保列车的安全、高效运行。通过虚拟场景仿真、硬件在环测试和实机测试,验证了系统的性能,并通过参数优化进一步提升了系统的可靠性。引入智能调度。

xiaoheshang_123的博客 463

分布式爬虫架构实战:Scrapy+RabbitMQ+浏览器池,百万级数据抓取成本直降60%(附架构图+源码)

任务调度瓶颈:Redis 作为消息队列,不支持复杂任务优先级,高并发下容易消息堆积,且单点故障会导致全量任务丢失;资源浪费严重:每个爬虫节点每次爬取动态页面都启动新浏览器,启动耗时3-5秒,CPU 占用率高达80%+,单机最多同时跑3个浏览器;扩展性差:新增节点需要手动同步任务队列,节点忙闲不均,无法根据任务量动态分配资源。# 从settings读取RabbitMQ配置# 注册信号:爬虫关闭时关闭RabbitMQ连接"""启动时建立RabbitMQ连接"""

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1619

java 利用POI读取execel文件时出现 Unable to read entire header; 0 bytes read; expected 512 bytes 的解决方法

公司原来在导入execel文件时,是一个一个导入的;也即,每一个导入文件都要有对应的java代码实现,所以在读取execel文件的时候没出现什么问题,这两天,准备把以前的做法废掉,统一封装一下,以达到只要根据配置文件就能解析所有的execel文件并将结果返回。      在实现过程中,刚开始时用demo写的,所以execel文件是全路径的(类似于c://test/XXX.xls),解析的时候

jackshen310的专栏 3万+

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3646

Unable to read entire header,0 bytes read;expected 512 bytes

unable to read entire header;0 bytes read;expected 512 bytes

java_LittleBird的博客 1916

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Unable to read entire header; 80 bytes read; expected 512 bytes

做了一个上传excel表格的功能,老是报这个错误,这个错误找了大半天了,最后的解决方式也很简单 “expected 512 bytes将读取您的前512个字节,Inputstream并在没有足够的字节读取时抛出异常。认为您的文件不够大,无法被POI阅读。” 可以修改一下excel格式或者把xls改成xlsx都行, 亲测有效!!! ...

weixin_44124432的博客 2808

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

poi问题解决java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 bytes

FileInputStream文件与FileOutputStream分开使用即使用两个文件。FileOutputStream文件覆盖所致,问题原因为xls文件大小为0k,

2301_78754943的博客 970

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Unable to read entire header; bytes read; expected bytes

今天出现了上面的错误,他的意思大概是读取word的文件时读取不到后面大小的word文件,也就是文件大小不够,后来我去打开下文件,文件大小应该够啊,怎么会说不够呢,后来断点一看,流竟然是-1,也就是没有读到流,怎么回事,后来直接用项目中的地址打开下word文档,竟然打不开后来一看电脑上别的word文档,后缀名写错了,修改后缀名就可以了,真是粗心了,以后出现这样的错误,可以先断点看一下独到了多少流,是

熊浪的博客 4265

java.io.IOException: Unable to read entire header; 0 bytes read; expected 32 bytes

读取同一个excel的时候(多个sheet),创建了多个WorkBook会出现这种问题。引起这种错误的原因估计多个读写流同时去读取同一个内存的原因照成的,解决办法是 使用单例模式。 public static ImportPicture getImportPicture(ByteArrayInputStream in,Boolean isNew) throws IOException{

xufan007的专栏 1万+

Unable to read entire header; 336 bytes read; expected 512 bytes

产生这个的原因是我这里重复调用了InputStream, POIFSFileSystem fs = new POIFSFileSystem(multipartFile.getInputStream()); InputStreamReader read = new InputStreamReader( multipartFile.getInputStream(),encoding);...

iteye_20240的博客 1943

Poi Unable to read entire header; 0 bytes read; expected 512 bytes

Java 使用POI 读取 excel文件,错误: Unable to read entire header; 0 bytes read; expected 512 bytes 原因可能: FileInputStream 使用了两次,第二次就会报这个错  

zhlfz的博客 1987

POI 操作 wrod 和 excel 文档

java 利用POI 读写 word excel ,还算方便 1. 遇到 java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 bytes 主要是打开多个文档读写,就会出问题。 打开文档需要用单例模式 在一个线程里开了一个 HSSFWorkbok(excel workbook obj...

david95的博客 401

文件传输问题

java. io. IOException: Unable to read entire header; 160 bytes read; expected 512 bytes 问题之一 打开你的文件看看是否报错,如果报错,可能是文件的问题。

YG2838833788的博客 515

文件读写

最近遇到这个问题:Unable to read entire header; 0 bytes read; expected 512 我是先创建文件,然后再读取文件,所以这里会出现问题; 读取文件的时候,它会首先检测512byte,但是文件还没有创建好,那么就会报这个错; 在读文件的时候进行判定,如果存在则可以读写,如果不存在可以让它延时一会儿;

huhusky 557

Invalid header signature; read 1688935826934608, expected -2226271756974174256

@Invalid header signature; read 1688935826934608, expected -2226271756974174256 今天在使用POI的HSSF读取excel的时候遇到了一个报错Invalid header signature; read 1688935826934608, expected -2226271756974174256 **原因:**HSSF...

i++; 4882

升级失败--failed to read block device from header

1 今天用grep过滤manifest下的分支时,少找了一个机型,后来发现是因为manifest文件本身所在分支没有更新导致,以后过滤时一定要先git pull --rebase将最新的提交拉下来 2 选择升级包时选择了一个target_files文件,导致升级失败, 这种错误的log会出现如下信息: I:Update location: @/cache/recovery/b

rockly89的博客 2319
上一篇: 表单全选(反选)
下一篇: axis 整合spring 开发
ghost_fly
博客等级 码龄20年 5粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值