Tika是一個內容抽取的工具集合(a toolkit for text extracting)。利用Tika,我們可以獲得文件的實際類型(https://blog.csdn.net/helihongzhizhuo/article/details/90404387 )、文件的編碼格式(https://blog.csdn.net/helihongzhizhuo/article/details/90401777)、字符串的語言、文件的文本內容。
在當前的2.0.0-SNAPSHOT版本中, Tika提供了對如下文件格式的支持:
PDF - 通過Pdfbox
MS-* - 通過POI
HTML - 使用nekohtml將不規範的html整理成爲xhtml
OpenOffice 格式 - Tika提供
Archive - zip, tar, gzip, bzip等
RTF - Tika提供
Java class - Class解析由ASM完成
Image - 只支持圖像的元數據抽取
XML
Tika的API十分便捷,核心是Parser interface,其中定義了一個parse方法:
public void parse(InputStream stream, ContentHandler handler, Metadata metadata)
用stream參數傳遞需要解析的文件流, 文本內容會被傳入handler,而元數據會更新至metadata。
可以使用Tika的ParserUtils工具來根據文件的mime-type來得到一個適當的Parser來進行解析工作。或者Tika還提供了一個AutoDetectParser根據不同的二進制文件的特殊格式 (比如說Magic Code),來尋找適合的Parser。
項目請見: