精华内容
下载资源
问答
  • 2021-03-14 22:27:46

    异常如下:

    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.(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.(XWPFDocument.java:116)

    不知道如何避免这个异常,

    怎样判断word文档内容是否为空呢?或者怎样获取到文档的大小呢?

    最佳答案

    判断文档内容是否为空:

    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();

    更多相关内容
  • 项目通过java接口来下载文件,发现下载office文件时,打开都不正常,比如下载office文件打开会报“word在 XX.docx发现无法读取内容。是否恢复此文档的内容”。但如果通过nginx映射来下载,可以正常打开。 解决...

    问题描述:

    项目通过java接口来下载文件,发现下载office文件时,打开都不正常,比如下载office文件打开会报“word在 XX.docx 发现无法读取的内容。是否恢复此文档的内容”。但如果通过nginx映射来下载,可以正常打开。

    解决方法:

    研究后发现,是因为没有设置Content-Type,其实每种office文件都有对应的Content-Type。可参考:https://www.jianshu.com/p/4b09c260f9b2?from=groupmessage

    修改后的代码如下:

        private final static Map<String, String> CONTENT_TYPE_MAP = new HashMap<>();
    
        static {
            CONTENT_TYPE_MAP.put("doc", "application/msword");
            CONTENT_TYPE_MAP.put("dot", "application/msword");
            CONTENT_TYPE_MAP.put("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
            CONTENT_TYPE_MAP.put("dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template");
            CONTENT_TYPE_MAP.put("docm", "application/vnd.ms-word.document.macroEnabled.12");
            CONTENT_TYPE_MAP.put("dotm", "application/vnd.ms-word.template.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xls", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xlt", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xla", "application/vnd.ms-excel");
            CONTENT_TYPE_MAP.put("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            CONTENT_TYPE_MAP.put("xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template");
            CONTENT_TYPE_MAP.put("xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xltm", "application/vnd.ms-excel.template.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xlam", "application/vnd.ms-excel.addin.macroEnabled.12");
            CONTENT_TYPE_MAP.put("xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12");
            CONTENT_TYPE_MAP.put("ppt", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pot", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pps", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("ppa", "application/vnd.ms-powerpoint");
            CONTENT_TYPE_MAP.put("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
            CONTENT_TYPE_MAP.put("potx", "application/vnd.openxmlformats-officedocument.presentationml.template");
            CONTENT_TYPE_MAP.put("ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow");
            CONTENT_TYPE_MAP.put("ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12");
            CONTENT_TYPE_MAP.put("pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12");
            CONTENT_TYPE_MAP.put("potm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12");
            CONTENT_TYPE_MAP.put("ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12");
        }
    
    
        
        @ApiOperation(value = "文件下载接口", httpMethod = "GET", notes = "文件下载接口")
        @RequestMapping("/downloadFiles/{md5}.{format}")
        @ResponseBody
        public AjaxResult downloadFiles(HttpServletResponse response,
            @PathVariable String md5, @PathVariable String format){
            File file = new File(this.getFilePath()+md5+".data");
            if(!file.exists()) {
                return getResult(1, "文件不存在");
            }
            try(
                FileInputStream fileInput = new FileInputStream(file);
                BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
            ) {
                response.setHeader("Accept-Ranges", "bytes");
                response.setHeader("Content-Length", file.length()+"");
                response.setHeader("Content-Type", CONTENT_TYPE_MAP.get(format));
                response.setDateHeader("Last-Modified", file.lastModified());
                response.setCharacterEncoding(null); // 设置为null,否则Content-Type会带上charset=UTF-8
                byte[] buffer = new byte[1024];
                OutputStream os = response.getOutputStream();
                int len = 0;
                while ((len = bufferedInput.read(buffer)) > 0) {
                    os.write(buffer, 0, len);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return getResult(0, null);
        }

     

    展开全文
  • .docx的文档损坏打不开,使用各种百度到的修复办法/修复工具/在线修复网页都无法解决。 尝试修改后缀/转换格式/使用wps打开再另存为,失败。 解决方法 经过查找资料,docx/doc文件的本质,是一个装了很多.xml文件...

    问题

    .docx的文档损坏打不开,使用各种百度到的修复办法/修复工具/在线修复网页都无法解决。
    尝试修改后缀/转换格式/使用wps打开再另存为,失败。
    在这里插入图片描述

    在这里插入图片描述

    解决方法

    经过查找资料,docx/doc文件的本质,是一个装了很多.xml文件的压缩包,用压缩文件工具打开可以看到。
    在这里插入图片描述解压缩,报错哪部分坏掉了,要做的就是从别的完好的docx文件里解压缩出来一个对应的替换进去,就好了。

    展开全文
  • 一、Word文档丢失恢复1、自动恢复功能不知道大家有没有发现,在Word中,有一个“自动恢复”的功能,就是当我们不小心关闭了Word文档之后,再次打开,Word文档中会自动修复文档最后一次保存的状态。所以,我们可以...

    大家平时在工作的时候,是不是经常需要用到Word文档呢?除了自己编辑内容之外,还可以借助Word文档来传输数据。不过吧,要是自己不小心删除了Word文档的话,应该怎么办呢?

    一、Word文档丢失恢复

    1、自动恢复功能

    不知道大家有没有发现,在Word中,有一个“自动恢复”的功能,就是当我们不小心关闭了Word文档之后,再次打开,Word文档中会自动修复文档最后一次保存的状态。所以,我们可以根据自己平时的编辑情况,设置Word自动保存的时间。

    在Word中,点击“工具——选项——保存”,然后再选择“自动保存时间间隔”,将时间设置为“5分钟”或更短的时间都行。

    2、从任意文件中恢复文本

    还有另外一种情况,就是可以在开启了Word文档中的“从任意文件中恢复文本”的功能后,可以恢复文本内容。但是在恢复之前,我们需要先将该功能打开。

    先在Word“选项”窗口下的“常规”标签页面中,确保选中“打开时确认文件格式转换”的选项,然后再依次点击“文件——打开”,选中需要修复的Word文档后,在“文件类型”下面,选中“从任意文件中恢复文本”,再打开就可以了。

    3、借助强力数据恢复软件

    以上两种方法虽然都可以恢复丢失的Word文档,但是恢复的有时候并不全面。所以,我们还可以通过借助第三方软件,比如强力数据恢复软件来找回Word文档。

    只需要在电脑上下载强力数据恢复软件,然后根据借助软件扫描文件丢失之前所在的盘符,扫描到文件后,选中它并将其恢复就行。

    二、Word文档乱码处理方法

    我们有时候打开Word文档时,会发现这个Word文档出现乱码,无法正常查看。这样的情况大多是Word文档已经被损坏导致的。不过即使出现这样的问题,同样可以通过转换格式来解决。

    这个方法的原理,其实就是将Word文档转换成另外一种格式,再转回Word文档。具体方法就是,在Word中打开受损文档,然后再点击“文件——另存为”,再在保存类型中,选择“RTF格式”,然后保存。

    接着将受损文档关闭,打开RTF格式文件,再点击“文件——另存为”,在“保存类型”中再将其存储为Word文档。这样,转换后的文档就可以正常打开了。

    三、修复无法打开的Word文档

    1、将受损文档插入到新文档中

    有时候受损的Word文档,根本是无法打开的,那这时候,我们可以将其插入到新文档中,再开启,一般即可正常阅读。

    操作也不难,只需要新建一个空白文档,然后点击“插入——文件”,再在弹出的窗口中,将受损文档插入即可。

    2、通过“写字板”打开

    文件损坏无法打开,还可以借助系统种的“写字板”功能,去除文件头后,再打开,即可恢复正常。

    操作方法也不难,只需要点击电脑“开始——附件——写字板”,再点击“文件——打开”,设置“文件类型”为“Office Open XML文档(*.doc)”,再打开损坏的Word文档,将其另存为doc格式。最后再用Word打开该文档,再在Word中将其存储即可。

    通过以上几个方法,即使是误删除了Word文档,或是文档被损坏出现无法打开的情况,都可以按照以上介绍到的内容进行处理。

    展开全文
  • 今天同事(王)在打开电脑打开 word文件时,报错:“word无法读取文档,文档可能损坏”明明是昨天下班还好好的文件,怎么就损坏了呢?1:打开word 后的 ,错误提示如图:2:解决方法打开word 程序,文件--打开--浏览...
  • 主要介绍了WinForm导出文件为Word、Excel、文本文件的方法,本文直接给出实现代码,代码中包含相应注释,需要的朋友可以参考下
  • 我在我的项目中使用了Kindeditor富文本编辑器(或许你使用的是Ueditor\ckeditor),通过富文本编辑器编辑文章的内容然后存储到数据库中,再从数据库中读取显示到网页上来。 在这个过程中,我遇到一个问题,当我在...
  • 关于恢复误删Word文档的步骤详解

    千次阅读 2021-03-29 14:03:16
    之前我误删Word文档之后成功借助这款工具恢复了回来,所以接下来就给大家分享一下误删文件恢复的具体操作步骤,有相同遭遇的朋友千万别错过! 第1步:确认文件位置 为了方便后续快速恢复文件,建议大家提前确认好...
  • 0, len) 实现的,但是,这里的第一个方法中的length默认为buffer.length,永远为1024,这是不对的,所以需要采用第二个实现,手动读取和指定长度length,否则会读取空byte到文件中,出现不可读的内容。 最终方案 ...
  • xlApp.Visible = False xlApp.DisplayAlerts = False Set xlWorkBook = xlApp.Workbooks.Open(a, , , , , , , , , , , , , , xlRepairFile) '解决打开excel文件时提示“发现不可读取内容”,用repair模式打开即可 ...
  • Word文档被别人误删内容后进行了保存,如何恢复或找到删除前的文件?首先打开前一晚文档所在的文件夹,工具--文件夹选项--查看,在“隐藏文件和文件夹”这一栏里,选中“显示所有文件和文件夹”(最好也把上一栏...
  • poi生成word文档后打开读取失败

    千次阅读 2021-03-05 16:11:45
    电脑安装的office,不论是新创建还是修改之前word模板文件,使用代码poi对其文档修改生成新word就打不开,并提示以下错误: 后台代码也没报错,就是打不开word,网上百度的方法都试了,没解决, 解决办法:使用其他...
  • Springboot下载word文件无法打开 错误 话不多说直接上代码,正确word下载方式 import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xwpf.usermodel.XWPFDocument; /** * 网络word文件获取到...
  • 公司要做一个替换模板文字然后导出word的功能,自己写了demo,然后生成的word打不开。如果不执行range.replaceText("Test", "111"); 生成的word可以打开,但是会提示受保护的视图,求助如何解决 不知道为什么...
  • 根据word内容word进行重命名及另存 用到了 os.walk(),os.path.join(),docx.Document(),shutil.copyfile(),os.rename() #根据word内容word进行重命名(表格内容),并保存至指定文件夹 import os ...
  • 症状 我自己的PHP,把word文档存入数据库后,再从数据库下载成docx文件;...后,又提示:“word在《文件名》中发现无法读取内容,是否恢复此文档的内容?”点击<是>就可以修复并打开。虽然不影响使...
  • RS Word Recovery,这是一款强大且易用的word数据恢复软件,它的功能强大之处在于能够处理最困难的情况,包括格式化后的卷,重新分区的硬盘驱动器,损坏的和不可访问的存储介质,可以轻松帮助用户找回丢失的word文档...
  • 使用“文本恢复转换器2113”首先打开单词5261(找到任何未损坏的word文档以打开),然后在4102中单击“工具”→“选项1653”→在“常规”选项卡中,找到“打开时确认转换”并选择它,然后单击“确定”退出,然后单击...
  • 原来下载核心代码 InputStream is = new FileInputStream(file); os = response.getOutputStream();...出现下载docx后打开文件显示有无法解析内容 方法1 InputStream is = new FileInputStream(file); os = r
  • 从早晨8点写到现在的东西,关掉后再打开突然蹦出个提示,word无法读取文档,文档可能损坏,真是急死我了. 解决方法: 打开word 程序,文件->打开,然后选择打开按钮后边的小三角,选择打开并修复,ok```谢天谢地``` ...
  • 先说一下我的环境: 客户端: 操作系统:Windows 10 专业版20H2(64 位)内部版本:19042.870 浏览器:Microsoft Edge版本 89.0.774.75 (官方内部版本) (64 位) ...打开文件后提示:很抱歉,无法开test.docx
  • 今天小编给大家带来Word页码无法使用解决方法,需要的朋友可以参考下 好久没开电脑了,今天打开Word2007,突然发现插入页面是灰色的,且只有一个不可用的选项,怎么办呢?技术小编琢磨良久,终于发现了问题,原来是...
  • 本项目的目的是编写一个MATLAB深度...1.通过谷歌提供的大量免费数据获取相应的测试集和验证集。 2.研究相关文献,建立传统的图像复原模型。 3.建立深度学习神经网络并设置相关参数。 4.测试模型,观察其性能和效率。
  • 具体解决方法参见: http://blog.csdn.net/jiankunking/article/details/75213798个人微信公众号: 作者:jiankunking 出处:http://blog.csdn.net/jiankunking
  • 5种方法恢复已删除的Word文档

    千次阅读 2021-07-26 01:50:18
    Microsoft Word应用程序崩溃并且没有保存文档?如何恢复未保存的Word文档文件?或者意外删除或丢失了Word...搜索并键入文档的名称(至少其中的一部分)或只需* .doc(x)以获取所有Word文档。第1部分:如何恢复未保存的...
  • 最近两天一直在写一份Word文件,今天打开时显示Word在试图打开文件时遇到错误:尝试检查文档或驱动器的文件权限。确保有足够的内存和磁盘空间。用文本恢复转换器打开文件。当时心里一惊,感觉最近两天的工作算是白做...
  • ### WNDocWebViewController这是一个使用WKWebView读取doc、docx文档的控制器,需要作为子控制器使用。#### 使用方式```objectivecNSString *path = [[NSBundle mainBundle]pathForResource:@"test5.docx" ofType:...
  • Word文档恢复软件推荐

    2021-09-09 11:31:52
    完全不用,因为今天我就要来给大家推荐一款word文档恢复软件:EasyRecovery。 Easyrecovery免费版下载:https://sourl.cn/JnrnET EasyRecovery是我目前使用过的比较优秀的一款数据恢复软件,它可以扫描电脑...
  • 那么是不是说损坏的Word文档就没法恢复了呢?那也不一定,下面就让小编来给大家支招。 遇到这种情况,千万别着急,安装数据恢复软件——EasyRecovery就可以了。利用其深度数据恢复的功能特
  • 如果点击否,则不会显示任何内容,点击是,就会弹出来 查看修改记录为: 刚开始也进行了很多的调试,但是后来才发现是因为setDefaultColumWidth(short(200)) 在进行设置这个默认值的时候,出现的错误,所以,在将这一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,275
精华内容 22,110
关键字:

word无法读取的内容恢复