用Java轻松读取Word文档内容的常用方法
作者:五行星辰
前言
在 Java 开发里,有时候咱得读取 Word 文档里的内容,这在处理合同、报告等文件时特别有用。咱可以根据 Word 文档的格式,用不同的库来实现读取功能。下面就详细说说 .doc
和 .docx
这两种常见格式文档的读取方法。
1. 读取 .doc 格式的 Word 文档
引入依赖
如果用 Maven 管理项目,在 pom.xml
里添加 Apache POI 的依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>5.2.3</version> </dependency>
代码示例
import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordExtractor; import java.io.FileInputStream; import java.io.IOException; public class ReadDocFile { public static void main(String[] args) { try (FileInputStream fis = new FileInputStream("example.doc")) { // 创建 HWPFDocument 对象来表示 .doc 文档 HWPFDocument document = new HWPFDocument(fis); // 创建 WordExtractor 对象用于提取文档内容 WordExtractor extractor = new WordExtractor(document); // 获取文档的文本内容 String content = extractor.getText(); System.out.println(content); } catch (IOException e) { e.printStackTrace(); System.out.println("读取 .doc 文件失败:" + e.getMessage()); } } }
代码解释
FileInputStream fis = new FileInputStream("example.doc")
:创建一个文件输入流,用来读取example.doc
文件。HWPFDocument document = new HWPFDocument(fis)
:用HWPFDocument
类创建一个文档对象,它能处理.doc
格式的文档。WordExtractor extractor = new WordExtractor(document)
:创建WordExtractor
对象,它可以从文档对象里提取文本内容。String content = extractor.getText()
:调用getText()
方法获取文档的全部文本内容,然后打印出来。
2. 读取 .docx 格式的 Word 文档
引入依赖
同样在 pom.xml
里添加 Apache POI 的依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency>
代码示例
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import java.io.FileInputStream; import java.io.IOException; public class ReadDocxFile { public static void main(String[] args) { try (FileInputStream fis = new FileInputStream("example.docx")) { // 创建 XWPFDocument 对象来表示 .docx 文档 XWPFDocument document = new XWPFDocument(fis); StringBuilder content = new StringBuilder(); // 遍历文档中的每个段落 for (XWPFParagraph paragraph : document.getParagraphs()) { // 遍历段落中的每个文本运行对象 for (XWPFRun run : paragraph.getRuns()) { content.append(run.getText(0)); } content.append("\n"); } System.out.println(content.toString()); } catch (IOException e) { e.printStackTrace(); System.out.println("读取 .docx 文件失败:" + e.getMessage()); } } }
代码解释
FileInputStream fis = new FileInputStream("example.docx")
:创建文件输入流读取example.docx
文件。XWPFDocument document = new XWPFDocument(fis)
:用XWPFDocument
类创建文档对象,它专门处理.docx
格式的文档。通过两层循环,外层遍历文档里的每个段落,内层遍历段落里的每个文本运行对象,把文本内容添加到
StringBuilder
里,最后打印出来。
嘿,朋友们!有了上面的方法,咱就能用 Java 轻松读取不同格式的 Word 文档内容啦。赶紧动手试试,让你的程序也能和 Word 文档“交流”起来!
总结
到此这篇关于用Java轻松读取Word文档内容的常用方法的文章就介绍到这了,更多相关Java读取Word文档内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!