用Java輕松讀取Word文檔內(nèi)容的常用方法
前言
在 Java 開發(fā)里,有時(shí)候咱得讀取 Word 文檔里的內(nèi)容,這在處理合同、報(bào)告等文件時(shí)特別有用。咱可以根據(jù) Word 文檔的格式,用不同的庫來實(shí)現(xiàn)讀取功能。下面就詳細(xì)說說 .doc 和 .docx 這兩種常見格式文檔的讀取方法。
1. 讀取 .doc 格式的 Word 文檔
引入依賴
如果用 Maven 管理項(xiàng)目,在 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")) {
// 創(chuàng)建 HWPFDocument 對(duì)象來表示 .doc 文檔
HWPFDocument document = new HWPFDocument(fis);
// 創(chuàng)建 WordExtractor 對(duì)象用于提取文檔內(nèi)容
WordExtractor extractor = new WordExtractor(document);
// 獲取文檔的文本內(nèi)容
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"):創(chuàng)建一個(gè)文件輸入流,用來讀取example.doc文件。HWPFDocument document = new HWPFDocument(fis):用HWPFDocument類創(chuàng)建一個(gè)文檔對(duì)象,它能處理.doc格式的文檔。WordExtractor extractor = new WordExtractor(document):創(chuàng)建WordExtractor對(duì)象,它可以從文檔對(duì)象里提取文本內(nèi)容。String content = extractor.getText():調(diào)用getText()方法獲取文檔的全部文本內(nèi)容,然后打印出來。
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")) {
// 創(chuàng)建 XWPFDocument 對(duì)象來表示 .docx 文檔
XWPFDocument document = new XWPFDocument(fis);
StringBuilder content = new StringBuilder();
// 遍歷文檔中的每個(gè)段落
for (XWPFParagraph paragraph : document.getParagraphs()) {
// 遍歷段落中的每個(gè)文本運(yùn)行對(duì)象
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"):創(chuàng)建文件輸入流讀取example.docx文件。XWPFDocument document = new XWPFDocument(fis):用XWPFDocument類創(chuàng)建文檔對(duì)象,它專門處理.docx格式的文檔。通過兩層循環(huán),外層遍歷文檔里的每個(gè)段落,內(nèi)層遍歷段落里的每個(gè)文本運(yùn)行對(duì)象,把文本內(nèi)容添加到
StringBuilder里,最后打印出來。
嘿,朋友們!有了上面的方法,咱就能用 Java 輕松讀取不同格式的 Word 文檔內(nèi)容啦。趕緊動(dòng)手試試,讓你的程序也能和 Word 文檔“交流”起來!
總結(jié)
到此這篇關(guān)于用Java輕松讀取Word文檔內(nèi)容的常用方法的文章就介紹到這了,更多相關(guān)Java讀取Word文檔內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 9中如何對(duì)IntegerCache進(jìn)行修改詳解
這篇文章主要給大家介紹了關(guān)于Java 9中如何對(duì)IntegerCache進(jìn)行修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用java9具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧。2017-12-12
Java 動(dòng)態(tài)編譯在項(xiàng)目中的實(shí)踐分享
在 Java 中,動(dòng)態(tài)編譯是指在運(yùn)行時(shí)動(dòng)態(tài)地編譯 Java 源代碼,生成字節(jié)碼,并加載到 JVM 中執(zhí)行,動(dòng)態(tài)編譯可以用于實(shí)現(xiàn)動(dòng)態(tài)代碼生成、動(dòng)態(tài)加載、插件化等功能,本文將給大家分享一下Java 動(dòng)態(tài)編譯在項(xiàng)目中的實(shí)踐,感興趣的同學(xué)跟著小編一起來看看吧2023-07-07
JDBC的擴(kuò)展知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了JDBC的擴(kuò)展知識(shí)點(diǎn)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)JDBC的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Java調(diào)用即夢(mèng)繪圖API實(shí)例Demo
Java提供了多種繪圖API,這篇文章主要介紹了Java調(diào)用即夢(mèng)繪圖API的相關(guān)資料,文中通過圖文以及代碼介紹的非常詳細(xì),對(duì)想學(xué)習(xí)即夢(mèng)繪圖的同學(xué)們具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-12-12
xxl-job定時(shí)任務(wù)配置應(yīng)用及添加到springboot項(xiàng)目中實(shí)現(xiàn)動(dòng)態(tài)API調(diào)用
XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級(jí)、易擴(kuò)展,本篇文章主要是對(duì)xuxueli的xxl-job做一個(gè)簡單的配置,以及將其添加到自己已有的項(xiàng)目中進(jìn)行api調(diào)用,感興趣的朋友跟隨小編一起看看吧2024-04-04
spring boot 如何指定profile啟動(dòng)
這篇文章主要介紹了spring boot 如何指定profile啟動(dòng)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

