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

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

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

    七郎's JavaBlog

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

    使用POI提取Word文件的文本內容

    Posted on 2008-06-12 15:48 七郎歸來 閱讀(1460) 評論(0)  編輯  收藏

    使用POI提取Word文件的文本內容

    POI是Apache的一個開源項目,可以到Apache網站下載相應的jar包文件,及其源文件。

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

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

    假設在本地磁盤中存在一個Word文件

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

    下面看看提取它的內容是多么簡單。

    首先從Apache網站上下載POI的相關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文件的內容如下所示:】");
        System.out.println(wordExtractor.getText());
       } catch (FileNotFoundException e) {
        e.printStackTrace();
       } catch (IOException e) {
       e.printStackTrace();
    }
    }
    }

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

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

    wordExtractor.getTextFromPieces();

    結果和上面是一樣的。

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

    這里,對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文件的內容如下所示:】");
        String[] paragraph = wordExtractor.getParagraphText();
        System.out.println("該Word文件共有"+paragraph.length+"段。");
        for(int i=0;i
         System.out.println("< 第 "+(i+1)+" 段的內容為 >");
         System.out.println(paragraph[i]);
        }
       } catch (FileNotFoundException e) {
        e.printStackTrace();
       } catch (IOException e) {
       e.printStackTrace();
    }
    }
    }

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

    從上面的Word文件可以看出,最后一行是Word文件的一個換行符,使用WordExtractor提取時,也把它默認成為一個段,因為一個段結束后應該有一個回車換行符。

    如果有多個Word文件,而且放在不同的目錄下,要提取它們的文本內容,可以實現一個遞歸的函數,通過深度遍歷,為每一個Word文件進行提取。

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 女性自慰aⅴ片高清免费| 永久免费视频网站在线观看| 少妇高潮太爽了在线观看免费| 精品无码一区二区三区亚洲桃色| 久久青草免费91观看| 久久夜色精品国产嚕嚕亚洲av| 永久免费不卡在线观看黄网站| 亚洲综合国产一区二区三区| 国产三级在线免费观看| 在线观看亚洲精品国产| 99在线热播精品免费99热| 亚洲AV无码专区电影在线观看| 久久国产精品免费观看| 亚洲福利秒拍一区二区| 最近中文字幕mv免费高清视频7| 亚洲人成网站18禁止| 免费观看午夜在线欧差毛片| 精品国产呦系列在线观看免费| 亚洲人成影院在线无码按摩店| 无码日韩精品一区二区三区免费| 亚洲男人天堂影院| 日韩高清在线免费观看| fc2成年免费共享视频网站| 亚洲综合伊人久久大杳蕉| 免费国产污网站在线观看15| 亚洲一区二区三区免费在线观看 | 国产成人人综合亚洲欧美丁香花| 免费不卡中文字幕在线| a毛片免费在线观看| 亚洲乱码在线播放| 国产99视频精品免费视频7| 国产免费一区二区三区不卡| 亚洲成人免费在线观看| 免费吃奶摸下激烈视频| 99ee6热久久免费精品6| 色偷偷亚洲男人天堂| 亚洲av无码精品网站| 精品少妇人妻AV免费久久洗澡| 和老外3p爽粗大免费视频 | 亚洲www77777| 亚洲精品午夜无码专区|