当前位置:首页 > Java

java 如何读取word

2026-03-23 16:47:53Java

读取 Word 文档的方法

使用 Apache POI 库

Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式文件,包括 Word 文档(.doc 和 .docx)。以下是使用 POI 读取 Word 文档的示例代码:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadWordDoc {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.docx");
             XWPFDocument document = new XWPFDocument(fis)) {

            for (XWPFParagraph paragraph : document.getParagraphs()) {
                System.out.println(paragraph.getText());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Tika 库

Apache Tika 是一个内容分析工具包,可以自动检测和提取多种文件类型的内容,包括 Word 文档。以下是使用 Tika 读取 Word 文档的示例代码:

import org.apache.tika.Tika;
import java.io.File;
import java.io.IOException;

public class ReadWordWithTika {
    public static void main(String[] args) {
        Tika tika = new Tika();
        try {
            String content = tika.parseToString(new File("example.docx"));
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 docx4j 库

docx4j 是另一个专门用于处理 Word 文档的 Java 库,特别适合处理复杂的 .docx 文件。以下是使用 docx4j 读取 Word 文档的示例代码:

import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.exceptions.Docx4JException;

public class ReadWordWithDocx4j {
    public static void main(String[] args) {
        try {
            WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File("example.docx"));
            String text = wordMLPackage.getMainDocumentPart().getContent().toString();
            System.out.println(text);
        } catch (Docx4JException e) {
            e.printStackTrace();
        }
    }
}

处理旧版 .doc 文件

如果需要处理旧版的 .doc 文件(Word 97-2003),可以使用 POI 的 HWPF 组件:

java 如何读取word

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadOldWordDoc {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.doc");
             HWPFDocument document = new HWPFDocument(fis)) {

            WordExtractor extractor = new WordExtractor(document);
            System.out.println(extractor.getText());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 对于大型 Word 文档,考虑使用流式读取方法以避免内存问题
  • 处理复杂格式时,可能需要结合多个库的功能
  • 确保添加正确的依赖项到项目中(如 poi-ooxml、tika-core、docx4j 等)
  • 不同版本的 Word 文件可能需要不同的处理方法

标签: javaword
分享给朋友:

相关文章

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

React实现打印word

React实现打印word

使用React实现打印Word文档 在React中实现打印Word文档功能,可以通过以下几种方法实现: 方法一:使用第三方库react-to-print 安装react-to-print库: n…

java 实现 php ord

java 实现 php ord

Java 实现 PHP 的 ord 函数 PHP 的 ord 函数用于获取字符串中第一个字符的 ASCII 值。在 Java 中,可以通过类型转换或直接使用字符的 Unicode 值实现类似功能。…

php word实现

php word实现

使用PHP操作Word文档 PHP可以通过多种方式操作Word文档,包括生成、读取和修改。以下是几种常见的方法: COM组件(仅限Windows) 使用PHP的COM扩展调用Microsoft Wo…

js实现word

js实现word

使用JavaScript生成Word文档 在JavaScript中生成Word文档可以通过多种方式实现,包括使用库如docx、html-docx-js或直接操作Office Open XML格式。…

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…