在 Java 中使用 Apache Tika 读取 doc、docx等格式文件内容

343 阅读1分钟

在 Java 中,使用 Apache Tika 读取 docdocx 等格式的文件内容非常方便。Tika 是一个内容分析工具,能够自动检测文档的 MIME 类型并提取其文本内容,支持包括 Word、PDF、HTML、TXT 等多种格式。

下面是一个使用 Apache Tika 读取 .doc.docx 文件的完整示例。

1. 引入依赖(Maven)

确保在你的 pom.xml 中添加 Tika 的依赖:

xml

复制编辑

<dependencies> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers-standard-package</artifactId> <version>2.9.1</version> </dependency> </dependencies>

⚠️ 版本可根据需要调整,tika-parsers-standard-package 包含了大多数常见格式的解析器,包括 Word。


2. Java 示例代码

java

复制编辑

import org.apache.tika.Tika; import org.apache.tika.exception.TikaException; import java.io.File; import java.io.IOException; public class TikaWordReader { public static void main(String[] args) { // 指定文件路径 File file = new File("example.docx"); // 或 example.doc // 创建 Tika 实例 Tika tika = new Tika(); try { // 提取文本内容 String text = tika.parseToString(file); System.out.println("文件内容:"); System.out.println(text); } catch (IOException | TikaException e) { e.printStackTrace(); } } }


支持的 Word 文件类型

文件类型支持情况
.doc✅ 支持
.docx✅ 支持
.odt✅ 支持
.rtf✅ 支持

注意事项

  • 对于 .doc 文件,Tika 会使用 Apache POI 的 HWPF 支持;
  • 对于 .docx 文件,则使用 XWPF
  • Tika 自动识别文件类型,你不需要关心它是 doc 还是 docx
  • 如果提取内容为乱码,可能是因为文件编码问题或者内容为图片扫描件(OCR 可考虑整合 Tesseract)。

如你还需批量读取多个文件、整合到 Web 项目、提取元数据(标题、作者等),也可以扩展这个基本使用方式。

是否需要一个读取整个文件夹下所有 Word 文档的批量处理代码?

启明源码网:www.qimingym.com