欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Java輕松讀取Word文檔內(nèi)容的常用方法

 更新時間:2025年03月19日 08:47:31   作者:五行星辰  
這篇文章主要介紹了用Java輕松讀取Word文檔內(nèi)容的常用方法,對于doc格式使用Apache?POI庫中的HWPFDocument和WordExtractor類,對于docx格式使用XWPFDocument類,并通過遍歷段落和文本運行對象來提取文本內(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ù)方式

    這篇文章主要介紹了Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java創(chuàng)建隨機數(shù)的四種方式總結(jié)

    Java創(chuàng)建隨機數(shù)的四種方式總結(jié)

    這篇文章主要介紹了java的四種隨機數(shù)生成方式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,,需要的朋友可以參考下
    2022-07-07
  • 基于eclipse-temurin鏡像部署spring boot應用的實現(xiàn)示例

    基于eclipse-temurin鏡像部署spring boot應用的實現(xiàn)示例

    本文提供了基于eclipse-temurin鏡像部署Spring Boot應用的詳細實現(xiàn)示例,通過使用Docker鏡像,可以輕松地創(chuàng)建和管理Spring Boot應用程序的容器化環(huán)境,感興趣的可以了解一下
    2023-08-08
  • Java基于正則表達式獲取指定HTML標簽指定屬性值的方法

    Java基于正則表達式獲取指定HTML標簽指定屬性值的方法

    這篇文章主要介紹了Java基于正則表達式獲取指定HTML標簽指定屬性值的方法,涉及java基于正則的HTML元素匹配相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • Java導入、導出excel用法步驟保姆級教程(附封裝好的工具類)

    Java導入、導出excel用法步驟保姆級教程(附封裝好的工具類)

    這篇文章主要介紹了Java導入、導出excel的相關資料,講解了使用Java和ApachePOI庫將數(shù)據(jù)導出為Excel文件,包括創(chuàng)建工作簿、工作表、行和單元格,設置樣式和字體,合并單元格,添加公式和下拉選擇等功能,需要的朋友可以參考下
    2025-03-03
  • 深度源碼解析Java 線程池的實現(xiàn)原理

    深度源碼解析Java 線程池的實現(xiàn)原理

    如何高效的使用這些資源就是程序員在平時寫代碼時候的一個努力的方向。本文要說的線程池就是一種對 CPU 利用的優(yōu)化手段。對Java 線程池的實現(xiàn)原理相關知識感興趣的朋友一起看看吧
    2021-05-05
  • 關于Java創(chuàng)建線程的2種方式以及對比

    關于Java創(chuàng)建線程的2種方式以及對比

    這篇文章主要給大家介紹了關于Java創(chuàng)建線程的2種方式以及對比的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • 一文學習Java NIO的ByteBuffer工作原理

    一文學習Java NIO的ByteBuffer工作原理

    很多網(wǎng)友說JDK又在寫B(tài)ug!下面通過通過本文學習下為何Java NIO的ByteBuffer這么垃圾,涉及到ByteBuf API 的優(yōu)點及工作原理解析,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • java 中Map詳解及實例代碼

    java 中Map詳解及實例代碼

    這篇文章主要介紹了java 中Map詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-04-04
  • Mybatis緩存機制詳解與實例分析

    Mybatis緩存機制詳解與實例分析

    Mybatis的緩存分為一級緩存和二級緩存,一級緩存是SqlSession級別的而二級緩存是mapper級別的,本文詳細的介紹了Mybatis緩存機制與實例分析,文中有相關的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11

最新評論