zoukankan      html  css  js  c++  java
  • [Java] Java读取Word文档

    前言

    最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法。

    Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括Excel和PowerPoint。我们就使用POI来做。

    步骤

    下载

    https://poi.apache.org/download.html 下载Binary Distribution,并解压

    导入

    在Intellij IDEA中,点击File--Project Structure--Library,然后添加里边所有的jar包

    使用

    核心在于org.apache.poi.hwpf.extractor.WordExtractor和org.apache.poi.hwpf.HWPFDocument这两个。

    贴上代码

    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.extractor.WordExtractor;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class Demo {
        public void readWordFile(String path) {
            File file = null;
            WordExtractor extractor = null;
            file = new File(path);
            try {
                HWPFDocument doc = new HWPFDocument(new FileInputStream((file.getAbsolutePath())));
                extractor = new WordExtractor(doc);
                String fileData = extractor.getText();//此处还有很多别的方法可以使用
                System.out.println(fileData);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    public class RunDemo {
        public static void main(String[] dd){
            Demo d=new Demo();
            String path="/home/chyq/Desktop/我的文档.doc";
            d.readWordFile(path);
        }
    }

    一些需要说明的

    • 如果是docx,将HWPF改成XWPF,基本是一样的
    • extractor对象的几个get方法说明:
      • getText() :返回String,全文内容
      • getMainTextboxText() 返回String[],读取的是多个文本框中的内容

      • getParagraphText() 返回String[],读取的是多个自然段的内容

      • 还有读取页眉页脚等方法,更多详细API可以参考:http://book2s.com/java/src/package/org/apache/poi/hwpf/extractor/wordextractor.html#1d7167f4e597fb0328033cb4c51b178b , 这个比官方文档全。
    • 读取的图片都没了,表格只保留了文字部分,格式都没有了。其余的格式(换行、回车等)均被保留。
  • 相关阅读:
    python学习(20) 网络编程
    MySQL与mongodb数据库备份与恢复
    Java(一)——Ubuntu18.04下Java环境配置
    安全服务——CVE中CVSS相关指标介绍
    爬虫(十一)—— 请求库(三)pypeteer请求库
    爬虫(十)—— scrapy框架
    抓包工具Fiddler
    爬虫(九)—— 爬虫高性能
    爬虫(八)—— 存储库(三)MySQL存储库
    爬虫(七)—— 存储库(二)Redis存储库
  • 原文地址:https://www.cnblogs.com/chengyuanqi/p/7372500.html
Copyright © 2011-2022 走看看