用 Java 轻松读取 Word 文档内容_java读取word内容
嘿,朋友们!在 Java 开发里,有时候咱得读取 Word 文档里的内容,这在处理合同、报告等文件时特别有用。咱可以根据 Word 文档的格式,用不同的库来实现读取功能。下面就详细说说 .doc
和 .docx
这两种常见格式文档的读取方法。
1. 读取 .doc
格式的 Word 文档
引入依赖
如果用 Maven 管理项目,在 pom.xml
里添加 Apache POI 的依赖:
org.apache.poi poi-scratchpad 5.2.3
代码示例
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 的依赖:
org.apache.poi poi-ooxml 5.2.3
代码示例
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 文档“交流”起来!