首页 新闻 搜索 专区 学院

Java使用POI读取Word文档时如果文档内容为空时出现异常

0
悬赏园豆:5 [已解决问题] 解决于 2019-07-13 21:14

异常如下:
org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long)
at org.apache.poi.util.IOUtils.peekFirstNBytes(IOUtils.java:74)
at org.apache.poi.util.IOUtils.peekFirst8Bytes(IOUtils.java:57)
at org.apache.poi.poifs.filesystem.FileMagic.valueOf(FileMagic.java:135)
at org.apache.poi.openxml4j.opc.internal.ZipHelper.verifyZipHeader(ZipHelper.java:175)
at org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipStream(ZipHelper.java:209)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:98)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:324)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:116)
不知道如何避免这个异常,
怎样判断word文档内容是否为空呢?或者怎样获取到文档的大小呢?

Abserver的主页 Abserver | 菜鸟二级 | 园豆:201
提问于:2019-04-18 10:25
< >
分享
最佳答案
0

判断文档内容是否为空:
File file = new File("test.docx");
if(file.length() == 0) {
System.out.println("文件为空!");
}
另外读取Word文档内容用Free Spire.Doc for Java也是个不错的方法, 两句代码Document document = new Document("input.docx"); String text = document.getText();

收获园豆:5
ms_doudou | 小虾三级 |园豆:1046 | 2019-04-18 11:24
其他回答(1)
0

楼上说的有道理

以写不出bug为目标 | 园豆:204 (菜鸟二级) | 2019-04-18 11:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册