Tika解析器API详细解释和用法

Tika Parser是提供从任何类型的文档提取内容和元数据的工具的界面。它是Tika的关键组件, 并组织到org.apache.tika.parser包中。它提供了具有以下签名的parse()方法。

void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context)throws IOException, SAXException, TikaException;

它带有四个参数, InputStream, ContentHandler, Metadata和ParseContect类对象。四个参数中每个参数的目的如下所示。
Tika解析器API详细解释和用法

文章图片
【Tika解析器API详细解释和用法】这些参数具有以下描述。
Argument Description
InputStream stream 从此输入流中读取文档。
ContentHandler handler ContentHandler是一个处理文档内容的接口。
元数据元数据 它是一个多值元数据容器。
ParseContext context 它用于将上下文信息传递给Tika解析器。
Tika还提供了AutoDetectParser类, 该类可自动确定文件具有哪种内容, 然后调用适当的解析器。
除此之外, 它还支持各种其他解析器类, 可用于解析解析类类型的文档。请参阅下表。
Parser Package Description
AppleSingleFileParser org.apache.tika.parser.apple 它用于解析苹果文件。
ClassParser org.apache.tika.parser.asm 它用于解析类文件。
AudioParser org.apache.tika.parser.audio 用于解析音频文件。
MidiParser org.apache.tika.parser.audio 它用于解析midi文件。
Pkcs7Parser org.apache.tika.parser.crypto 它用于解析pkcs7。
TSDParser org.apache.tika.parser.crypto 它用于解析tsd。
DWGParser org.apache.tika.parser.dwg 它用于解析dwg。
EnviHeaderParser org.apache.tika.parser.envi 它用于解析envi。
EpubParser org.apache.tika.parser.epub 它用于解析epub。
ExecutableParser org.apache.tika.parser.executable 它用于解析可执行文件。
HtmlParser org.apache.tika.parser.html 它用于解析html文件。
ImageParser org.apache.tika.parser.image 用于解析图像文件。
WebPParser org.apache.tika.parser.image 它用于解析webp。
IptcAnpaParser org.apache.tika.parser.iptc 它用于解析iptcanpa。
JpegParser org.apache.tika.parser.jpeg 它用于解析jpeg。
DBFParser org.apache.tika.parser.dbf 它用于解析dbf文件。
Mp3Parser org.apache.tika.parser.mp3 它用于解析mp3。
MP4Parser org.apache.tika.parser.mp4 它用于解析mp4。
PDFParser org.apache.tika.parser.pdf 用于解析pdf文件。
Tika解析器示例 在此示例中, 我们使用AutoDetectParser自动检测文档类型, 然后解析内容和元数据。
package tikaexample; import java.io.IOException; import java.io.InputStream; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.AutoDetectParser; import org.apache.tika.sax.BodyContentHandler; import org.xml.sax.SAXException; public class AutoDetectParseExample { public static void main(String[] args) throws IOException, SAXException, TikaException {BodyContentHandler handler = new BodyContentHandler(); AutoDetectParser parser = new AutoDetectParser(); Metadata metadata = http://www.srcmini.com/new Metadata(); try (InputStream stream = AutoDetectParseExample.class.getResourceAsStream("hello.txt")) {parser.parse(stream, handler, metadata); System.out.println(handler.toString()); } }}

输出
以下是提取后的hello.txt文件的内容。
Hello Welcome to srcmini

    推荐阅读