文件内容读取--Tika

Love The Way You Lie 2022-07-03 23:13 358阅读 0赞

功能介绍

Tika是Apache下开源的文档内容解析工具,支持上千种文档格式(如PPT、XLS、PDF)。Tika使用统一的方法对各种类型文件进行内容解析,封装了各种格式解析的内部实现,可用于搜索引擎索引、内容分析、转换等场景。

官方网站:https://tika.apache.org/

支持格式:https://tika.apache.org/1.14/formats.html

开发示例

案例使用Tika1.14版本,Maven进行开发

引入Tika包

  1. <dependency>
  2. <groupId>org.apache.tika</groupId>
  3. <artifactId>tika-core</artifactId>
  4. <version>1.14</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.tika</groupId>
  8. <artifactId>tika-parsers</artifactId>
  9. <version>1.14</version>
  10. </dependency>

代码开发

简单解析

Tika支持简单的解析方法,解析文件的内容为String

  1. String content;
  2. Tika tika = new Tika();
  3. try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
  4. content = tika.parseToString(stream);
  5. }

Prase解析

也可以使用更灵活的Tika Prase方法进行解析

  1. String content;
  2. AutoDetectParser parser = new AutoDetectParser();
  3. BodyContentHandler handler = new BodyContentHandler();
  4. Metadata metadata = new Metadata();
  5. try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
  6. parser.parse(stream, handler, metadata);
  7. content = handler.toString();
  8. }
  9. System.out.println(content);

解析为XHMTL格式

  1. String content;
  2. AutoDetectParser parser = new AutoDetectParser();
  3. //解析为XHTML
  4. ContentHandler handler = new ToXMLContentHandler();
  5. Metadata metadata = new Metadata();
  6. try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
  7. parser.parse(stream, handler, metadata);
  8. content = handler.toString();
  9. }
  10. System.out.println(content);

发表评论

表情:
评论列表 (有 0 条评论,358人围观)

还没有评论,来说两句吧...

相关阅读