个性化阅读
专注于IT技术分析

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

这些参数具有以下描述。

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 = 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
赞(0) 打赏
未经允许不得转载:srcmini » Tika解析器API详细解释和用法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏