java使用poi讀取doc和docx文件的實現(xiàn)示例
這幾天在學(xué)習(xí)java io流的東西,有一個網(wǎng)友看到博客后問了一個問題,就是說他的doc文檔為什么用我所說的方法死活就是亂碼。
我一開始以為是他方法問題,結(jié)果自己試了之后發(fā)現(xiàn)和他的結(jié)果一樣也是亂碼。
于是在網(wǎng)上搜尋了一陣之后才發(fā)現(xiàn)原來doc文檔和excel一樣不能用普通的io流的方法來讀取,而是也需要用poi,于是進行了一番嘗試后,終于以正確的編碼格式讀取了這個doc文件。
在網(wǎng)上搜索的過程中發(fā)現(xiàn)doc和docx的讀取方法是不一樣的,于是順帶也學(xué)了一下docx文件的簡單讀取。
一、導(dǎo)包:
doc文件的讀取,需要導(dǎo)入poi-scratchpad的jar包和相關(guān)依賴包:
docx文件讀取,需要導(dǎo)入poi-ooxml的jar包和相關(guān)依賴包:
我用的是maven構(gòu)建項目,相關(guān)的依賴包會自動導(dǎo)入,maven導(dǎo)包配置如下:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.8</version> </dependency>
二、讀取文件的代碼:
1、doc文件讀取簡單示例:
public static void readAndWriterTest3() throws IOException { File file = new File('C:Userstuzongxun123Desktopaa.doc'); String str = ''; try { FileInputStream fis = new FileInputStream(file); HWPFDocument doc = new HWPFDocument(fis); String doc1 = doc.getDocumentText(); System.out.println(doc1); StringBuilder doc2 = doc.getText(); System.out.println(doc2); Range rang = doc.getRange(); String doc3 = rang.text(); System.out.println(doc3); fis.close(); } catch (Exception e) { e.printStackTrace(); } }
2、docx文件讀取簡單示例:
public static void readAndWriterTest4() throws IOException { File file = new File('C:Userstuzongxun123Desktopaa.docx'); String str = ''; try { FileInputStream fis = new FileInputStream(file); XWPFDocument xdoc = new XWPFDocument(fis); XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc); String doc1 = extractor.getText(); System.out.println(doc1); fis.close(); } catch (Exception e) { e.printStackTrace(); } }
我并沒有在工作中操作過word,這篇博客也只是一時興起所做,因此寫的很簡單。
而最近陸續(xù)有朋友找我詢問相關(guān)的問題,其中有好幾個都在詢問依賴包有哪些,為了避免一再回答這種問題,特將依賴包截圖:
到此這篇關(guān)于java使用poi讀取doc和docx文件的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)java poi讀取doc和docx內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. html小技巧之td,div標簽里內(nèi)容不換行2. HTML DOM setInterval和clearInterval方法案例詳解3. 怎樣才能用js生成xmldom對象,并且在firefox中也實現(xiàn)xml數(shù)據(jù)島?4. webpack高級配置與優(yōu)化詳解5. HTML <!DOCTYPE> 標簽6. CSS3中Transition屬性詳解以及示例分享7. 概述IE和SQL2k開發(fā)一個XML聊天程序8. XML入門的常見問題(一)9. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享10. ASP腳本組件實現(xiàn)服務(wù)器重啟
