用Java輕松讀取Word文檔內(nèi)容的常用方法
前言
在 Java 開發(fā)里,有時候咱得讀取 Word 文檔里的內(nèi)容,這在處理合同、報告等文件時特別有用。咱可以根據(jù) Word 文檔的格式,用不同的庫來實現(xiàn)讀取功能。下面就詳細說說 .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")) {
// 創(chuàng)建 HWPFDocument 對象來表示 .doc 文檔
HWPFDocument document = new HWPFDocument(fis);
// 創(chuàng)建 WordExtractor 對象用于提取文檔內(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)建一個文件輸入流,用來讀取example.doc文件。HWPFDocument document = new HWPFDocument(fis):用HWPFDocument類創(chuàng)建一個文檔對象,它能處理.doc格式的文檔。WordExtractor extractor = new WordExtractor(document):創(chuàng)建WordExtractor對象,它可以從文檔對象里提取文本內(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 對象來表示 .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"):創(chuàng)建文件輸入流讀取example.docx文件。XWPFDocument document = new XWPFDocument(fis):用XWPFDocument類創(chuàng)建文檔對象,它專門處理.docx格式的文檔。通過兩層循環(huán),外層遍歷文檔里的每個段落,內(nèi)層遍歷段落里的每個文本運行對象,把文本內(nèi)容添加到
StringBuilder里,最后打印出來。
嘿,朋友們!有了上面的方法,咱就能用 Java 輕松讀取不同格式的 Word 文檔內(nèi)容啦。趕緊動手試試,讓你的程序也能和 Word 文檔“交流”起來!
總結(jié)
到此這篇關(guān)于用Java輕松讀取Word文檔內(nèi)容的常用方法的文章就介紹到這了,更多相關(guān)Java讀取Word文檔內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式
這篇文章主要介紹了Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Java創(chuàng)建隨機數(shù)的四種方式總結(jié)
這篇文章主要介紹了java的四種隨機數(shù)生成方式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2022-07-07
基于eclipse-temurin鏡像部署spring boot應(yīng)用的實現(xiàn)示例
本文提供了基于eclipse-temurin鏡像部署Spring Boot應(yīng)用的詳細實現(xiàn)示例,通過使用Docker鏡像,可以輕松地創(chuàng)建和管理Spring Boot應(yīng)用程序的容器化環(huán)境,感興趣的可以了解一下2023-08-08
Java導(dǎo)入、導(dǎo)出excel用法步驟保姆級教程(附封裝好的工具類)
這篇文章主要介紹了Java導(dǎo)入、導(dǎo)出excel的相關(guān)資料,講解了使用Java和ApachePOI庫將數(shù)據(jù)導(dǎo)出為Excel文件,包括創(chuàng)建工作簿、工作表、行和單元格,設(shè)置樣式和字體,合并單元格,添加公式和下拉選擇等功能,需要的朋友可以參考下2025-03-03
關(guān)于Java創(chuàng)建線程的2種方式以及對比
這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建線程的2種方式以及對比的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01
一文學(xué)習(xí)Java NIO的ByteBuffer工作原理
很多網(wǎng)友說JDK又在寫B(tài)ug!下面通過通過本文學(xué)習(xí)下為何Java NIO的ByteBuffer這么垃圾,涉及到ByteBuf API 的優(yōu)點及工作原理解析,感興趣的朋友跟隨小編一起看看吧2021-05-05

