用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é)
到此這篇關于用Java輕松讀取Word文檔內(nèi)容的常用方法的文章就介紹到這了,更多相關Java讀取Word文檔內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式
這篇文章主要介紹了Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java創(chuàng)建隨機數(shù)的四種方式總結(jié)
這篇文章主要介紹了java的四種隨機數(shù)生成方式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,,需要的朋友可以參考下2022-07-07基于eclipse-temurin鏡像部署spring boot應用的實現(xiàn)示例
本文提供了基于eclipse-temurin鏡像部署Spring Boot應用的詳細實現(xiàn)示例,通過使用Docker鏡像,可以輕松地創(chuàng)建和管理Spring Boot應用程序的容器化環(huán)境,感興趣的可以了解一下2023-08-08Java導入、導出excel用法步驟保姆級教程(附封裝好的工具類)
這篇文章主要介紹了Java導入、導出excel的相關資料,講解了使用Java和ApachePOI庫將數(shù)據(jù)導出為Excel文件,包括創(chuàng)建工作簿、工作表、行和單元格,設置樣式和字體,合并單元格,添加公式和下拉選擇等功能,需要的朋友可以參考下2025-03-03