【Tika基础教程之一】Tika基础教程
一、快速入門
1、Tika是一個用于文本解釋的框架,其本身并不提供任何的庫用于解釋文本,而是調(diào)用各種各樣的庫,如POI,PDFBox等。
使用Tika,可以提取文件中的作者、標(biāo)題、創(chuàng)建時間、正文等內(nèi)容,相比于java.io自帶的一些功能(如FileInputStream,FIleReader,Scanner等):
(1)若文檔為純文本,如txt,html,java文件等,則二者對于文件內(nèi)容的提取基本無差別,都可將內(nèi)容呈現(xiàn)出來。
(2)若文檔為富文本,如office,pdf等,使用java.io直接讀取內(nèi)容會得到一串亂碼,而需要通過種種工具去提取正文內(nèi)容,如PDFBox提取PDF文件,POI提取office文件等。
TIka已將各種工具作了統(tǒng)一封裝,形成統(tǒng)一的API,用于提取文本正文。
但注意:解釋文本
上述步驟只是將正文內(nèi)容提取了出來,如將word文檔、Html文檔等的正文提取出來,但未對文檔正文的內(nèi)容進(jìn)行解釋,此時需要用到其它的工具如:
(1)DOM4J用于提取XML正文中的內(nèi)容,如某個元素或者屬性的值。
(2)HtmlPaser用于提取HTML正文中的內(nèi)容,也是提取無素或者屬性的值,比如提取文中的超鏈接等。
Tika是否已經(jīng)完成此功能的封裝還不確認(rèn),以后再研究。
2、使用GUI界面解釋文本
(1)進(jìn)入Tika所有的目錄,運行以下命令:
java -jar "tika-app-1.5 (1).jar" -g
(2)Tika的圖形界面被打開,然后找開File-openURL:
(3)點擊確認(rèn)后,即返回解釋結(jié)果
默認(rèn)情況下顯示的是文本的元信息
(4)可以通過view菜單中的選項,分別查看 metadata, formatted text, plain text, main content, stuctured text等信息。
3、調(diào)用API解釋文件
測試程序如下: package com.ljh.test;import java.io.File;import org.junit.Test;public class TikaBasicUtilTest {@Testpublic void test() {TikaBasicUtil tbu = new TikaBasicUtil();System.out.println(tbu.fileToTxt(new File("D:/G組-C羅壓哨助攻扳平 葡萄牙2-2美國保晉級希望.docx")));}} 輸出結(jié)果如下:
cp:revision:3
meta:last-author:lujinhong
Last-Author:lujinhong
meta:save-date:2014-06-23T04:24:00Z
Application-Name:Microsoft Office Word
dcterms:created:2014-06-23T04:23:00Z
Author:lujinhong
Application-Version:15.0000
Character-Count-With-Spaces:1188
date:2014-06-23T04:24:00Z
Total-Time:1
extended-properties:Template:Normal.dotm
meta:line-count:8
creator:lujinhong
publisher:
Word-Count:177
meta:paragraph-count:2
Creation-Date:2014-06-23T04:23:00Z
extended-properties:AppVersion:15.0000
meta:author:lujinhong
Line-Count:8
extended-properties:Application:Microsoft Office Word
resourceName:G組-C羅壓哨助攻扳平 葡萄牙2-2美國保晉級希望.docx
Paragraph-Count:2
Last-Save-Date:2014-06-23T04:24:00Z
Revision-Number:3
meta:creation-date:2014-06-23T04:23:00Z
dcterms:modified:2014-06-23T04:24:00Z
Template:Normal.dotm
Page-Count:1
meta:character-count:1013
dc:creator:lujinhong
meta:word-count:177
Last-Modified:2014-06-23T04:24:00Z
extended-properties:Company:
modified:2014-06-23T04:24:00Z
xmpTPg:NPages:1
extended-properties:TotalTime:1
dc:publisher:
Character Count:1013
meta:page-count:1
meta:character-count-with-spaces:1188
Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document
上半時美國隊開球。第5分鐘,葡萄牙隊率先進(jìn)球,維羅索左路45度把球吊入禁區(qū),美國后衛(wèi)卡梅倫解圍失誤,納尼在遠(yuǎn)門柱附近右腳抽射球門上角建功,葡萄牙1-0美國。
第9分鐘,鄧普西突破被斷,無隊友接應(yīng)。第11分鐘,美國長傳反擊,科斯塔頭球解圍。第12分鐘,阿爾維斯鏟倒約翰遜,美國隊獲得禁區(qū)前任意球,鄧普西主罰大力攻門,球擦著橫梁高出。第16分鐘,葡萄牙中鋒波斯蒂加受傷,被埃德?lián)Q下。第18分鐘,美國右路傳中,鄧普西禁區(qū)左肋抽射打高。
第24分鐘,美國隊后場斷球反擊,布拉德利禁區(qū)前抽射,球擦著橫梁高出。第27分鐘,祖西傳球,鄧普西禁區(qū)右肋抽射,科斯塔堵槍眼。1分鐘后,布拉德利遠(yuǎn)射稍偏。第32分鐘,美國反擊,約翰遜遠(yuǎn)射打偏。第34分鐘,維羅索遠(yuǎn)射打在后衛(wèi)身上,C羅拿球被吹越位。
第35分鐘,C羅遠(yuǎn)射被霍華德?lián)渥 5?0分鐘,瓊斯受傷,主裁判吹停比賽,進(jìn)入喝水時間。第42分鐘,葡萄牙反擊,C羅分球,納尼右路遠(yuǎn)射被撲出。第43分鐘,葡萄牙獲得禁區(qū)前任意球,C羅主罰打高。第45分鐘,納尼遠(yuǎn)射打中立柱,埃德補(bǔ)射被霍華德用指尖擋出。上半時結(jié)束,葡萄牙1-0美國。
下半時易邊,葡萄牙隊用卡瓦略換下阿爾梅達(dá)。第48分鐘,卡梅倫解圍打在隊友被貝斯勒身上,埃德?lián)屔浯蚋摺5?5分鐘,美國隊錯失良機(jī),約翰遜右路下底傳中,布拉德利5碼處推射,科斯塔門線堵槍眼。第62分鐘,葡萄牙反擊,C羅禁區(qū)右肋射門打偏。
第64分鐘,美國隊扳平比分,角球罰出被后衛(wèi)解圍出禁區(qū),瓊斯外圍拿球橫向閃過納尼,右腳大力抽射,球飛進(jìn)球門死角,葡萄牙1-1美國。
第66分鐘,葡萄牙反擊,納尼右路傳中,遠(yuǎn)端梅雷萊斯抽射被門將撲出。第68分鐘,葡萄牙用完第三個換人名額,瓦雷拉換下梅雷萊斯。第74分鐘,納尼突入禁區(qū)摔倒,裁判沒有吹罰點球。1分鐘后,瓊斯滑鏟放倒穆蒂尼奧,吃到黃牌。第80分鐘,納尼右路禁區(qū)前橫切遠(yuǎn)射打高。
第81分鐘,美國隊反超比分!瓊斯中路分球,葉德林右路下底傳中,布拉德利12碼處推射打在后衛(wèi)身上,祖西左路拿球傳中,鄧普西用胸口把球撞進(jìn)空門,美國2-1葡萄牙。
第86分鐘,維羅索直塞,C羅在越位位置完成射門。葡萄牙右路起球,C羅頭球攻門頂偏。第93分鐘,葡萄牙左路起球,C羅頭球頂偏。第95分鐘,C羅右路傳中,瓦雷拉頭沖頂破門,2-2!全場結(jié)束,美國2-2葡萄牙。
葡萄牙(433):22-貝托/21-佩雷拉、2-阿爾維斯、13-科斯塔、19-A-阿爾梅達(dá)(46'卡瓦略)/8-穆蒂尼奧、4-維羅索、16-梅雷萊斯(68'瓦雷拉)/17-納尼、23-波斯蒂加(16'埃德)、7-C羅
美國(4231):1-霍華德/7-比斯利、5-貝斯勒、20-卡梅倫、23-F-約翰遜/15-貝克曼、13-瓊斯/19-祖西(91'岡薩雷斯)、11-貝多亞(72'葉德林)、4-布拉德利/8-鄧普西(87'沃多洛斯基)
總結(jié)
以上是生活随笔為你收集整理的【Tika基础教程之一】Tika基础教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Lucene4.8教程之六】Query
- 下一篇: 【Lucene4.8教程之五】Luke