<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    七郎's JavaBlog

    草木竹石皆可為劒。至人之用人若鏡,不將不迎,應(yīng)而不藏,故能勝物而不傷。
    posts - 60, comments - 14, trackbacks - 0, articles - 0

    使用POI提取Word文件的文本內(nèi)容

    POI是Apache的一個開源項(xiàng)目,可以到Apache網(wǎng)站下載相應(yīng)的jar包文件,及其源文件。

    POI提供了提取一些非TXT文本中文本內(nèi)容的API,比如提取Word,Excel等,使用起來非常方便。

    為了說明POI提起Word文件的方便和簡單,通過提取一個Word文件的文本來,來了解POI API的功能。

    假設(shè)在本地磁盤中存在一個Word文件

    E:POIwordJBoss3.0 下配置和部署EJB簡介.doc文件是具有格式的,內(nèi)容如圖所示:

    下面看看提取它的內(nèi)容是多么簡單。

    首先從Apache網(wǎng)站上下載POI的相關(guān)jar包。

    新建一個測試類:

    package org.shirdrn.word;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;

    import org.apache.poi.hwpf.extractor.WordExtractor;

    public class MyWordExtractor {

    public static void main(String[] args) {
       File file = new File("E:\POI\word\JBoss3.0 下配置和部署EJB簡介.doc");
       try {
        FileInputStream fis = new FileInputStream(file);
        WordExtractor wordExtractor = new WordExtractor(fis);
        System.out.println("【 使用getText()方法提取的Word文件的內(nèi)容如下所示:】");
        System.out.println(wordExtractor.getText());
       } catch (FileNotFoundException e) {
        e.printStackTrace();
       } catch (IOException e) {
       e.printStackTrace();
    }
    }
    }

    提取Word文件的文本內(nèi)容,打印到控制臺上,如下所示:

    使用WordExtractor類的getTextFromPieces()方法提取:

    wordExtractor.getTextFromPieces();

    結(jié)果和上面是一樣的。

    WordExtractor類還有一個可以提取Word文件的各個段落的方法getParagraphText(),返回一個String[]數(shù)組,數(shù)組中每個元素為一個段的文本內(nèi)容。

    這里,對Word文件中換行也看成是一個段,測試如下:

    package org.shirdrn.word;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;

    import org.apache.poi.hwpf.extractor.WordExtractor;

    public class MyWordExtractor {

    public static void main(String[] args) {
       File file = new File("E:\POI\word\JBoss3.0 下配置和部署EJB簡介.doc");
       try {
        FileInputStream fis = new FileInputStream(file);
        WordExtractor wordExtractor = new WordExtractor(fis);
        System.out.println("【 使用getText()方法提取的Word文件的內(nèi)容如下所示:】");
        String[] paragraph = wordExtractor.getParagraphText();
        System.out.println("該Word文件共有"+paragraph.length+"段。");
        for(int i=0;i
         System.out.println("< 第 "+(i+1)+" 段的內(nèi)容為 >");
         System.out.println(paragraph[i]);
        }
       } catch (FileNotFoundException e) {
        e.printStackTrace();
       } catch (IOException e) {
       e.printStackTrace();
    }
    }
    }

    提取Word文件的文本內(nèi)容,打印到控制臺上,如下所示:

    從上面的Word文件可以看出,最后一行是Word文件的一個換行符,使用WordExtractor提取時,也把它默認(rèn)成為一個段,因?yàn)橐粋€段結(jié)束后應(yīng)該有一個回車換行符。

    如果有多個Word文件,而且放在不同的目錄下,要提取它們的文本內(nèi)容,可以實(shí)現(xiàn)一個遞歸的函數(shù),通過深度遍歷,為每一個Word文件進(jìn)行提取。

    如果需要,可以將提取到的Word文件的文本內(nèi)容輸出到本地磁盤中,比如以txt記事本的根式保存。

    從上面可以看出,提取Word文件的文本內(nèi)容,實(shí)際上是將Word文件的格式去掉了,獲取到文本的內(nèi)容。


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费播放在线日本感人片| 亚洲第一成年免费网站| 久久国产一片免费观看| 免费中文字幕在线| 免费国产黄网站在线看| 亚洲国产成人VA在线观看| 一级做a爰片久久免费| 久久久久国产成人精品亚洲午夜 | 四虎影在线永久免费观看| 亚洲精品无码一区二区| 精品久久洲久久久久护士免费 | 免费网站观看WWW在线观看| 亚洲欧洲∨国产一区二区三区 | 免费无码又爽又刺激聊天APP| 亚洲av一本岛在线播放| 成人黄动漫画免费网站视频 | 亚洲va中文字幕无码久久| 野花香在线视频免费观看大全 | 亚洲国产AV一区二区三区四区 | 99久久免费精品高清特色大片| 亚洲精品91在线| 成年人在线免费看视频| 国产精品亚洲综合| 国产综合精品久久亚洲| 最近中文字幕免费完整| 久久精品国产亚洲AV蜜臀色欲| 国产美女被遭强高潮免费网站| a级毛片免费网站| 亚洲∧v久久久无码精品| 久久久久久免费视频| 国产亚洲漂亮白嫩美女在线| 国产亚洲A∨片在线观看| 国产成人精品免费午夜app | 一级免费黄色毛片| 久久精品国产亚洲AV麻豆网站| 免费电影在线观看网站| 一级做受视频免费是看美女| 亚洲国产综合精品| 亚洲国产精品视频| 亚洲免费黄色网址| 日韩免费在线中文字幕|