Tika类文件提取示例

本文概述

  • Tika ClassParser构造函数
  • Tika ClassParser方法
为了提取.class文件, Tika提供了ClassParser类。此类用于从.class文件中提取内容和元数据。它位于org.apache.tika.parser.asm包中, 并包含下表中列出的各种构造函数和方法。
Tika ClassParser构造函数
Constructor Description
公共ClassParser() 它用于创建类的实例。
Tika ClassParser方法
Methods Description
公共Set < MediaType> getSupportedTypes(ParseContext上下文) 它返回此解析器支持的媒体类型集。
公共无效解析(InputStream流, ContentHandler处理程序, 元数据元数据, ParseContext上下文)引发IOException, SAXException, TikaException 它将文档流解析为一系列XHTML SAX事件。
Tika ClassParser示例
在此示例中, 我们从.class文件中提取内容和元数据。参见示例。
package tikaexample; import java.io.File; import java.io.FileInputStream; 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.ParseContext; import org.apache.tika.parser.asm.ClassParser; import org.apache.tika.sax.BodyContentHandler; import org.xml.sax.SAXException; public class ClassParserExample { public static void main(String[] args) throws IOException, SAXException, TikaException { BodyContentHandler handler= new BodyContentHandler(); ClassParser parser= new ClassParser(); Metadata metadata= http://www.srcmini.com/new Metadata(); ParseContext pcontext= new ParseContext(); try (InputStream stream = new FileInputStream(new File("First.class"))) { parser.parse(stream, handler, metadata, pcontext); System.out.println("Document Content:" + handler.toString()); System.out.println("Document Metadata:"); String[] metadatas = metadata.names(); for(String data : metadatas) { System.out.println(data + ":" + metadata.get(data)); } }catch(Exception e) {System.out.println("Exception message: "+ e.getMessage()); } } }

【Tika类文件提取示例】我们有一个First.class类, 其中包含以下代码。
public synchronized class First { void First(); public static void main(String[]); }

输出:(提取First.class文件后)
public synchronized class First { void First(); public static void main(String[]); } Document Metadata: dc:title:First resourceName:First.class title:First

    推荐阅读