文件内容读取--Tika
功能介绍
Tika是Apache下开源的文档内容解析工具,支持上千种文档格式(如PPT、XLS、PDF)。Tika使用统一的方法对各种类型文件进行内容解析,封装了各种格式解析的内部实现,可用于搜索引擎索引、内容分析、转换等场景。
官方网站:https://tika.apache.org/
支持格式:https://tika.apache.org/1.14/formats.html
开发示例
案例使用Tika1.14版本,Maven进行开发
引入Tika包
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.14</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.14</version>
</dependency>
代码开发
简单解析
Tika支持简单的解析方法,解析文件的内容为String
String content;
Tika tika = new Tika();
try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
content = tika.parseToString(stream);
}
Prase解析
也可以使用更灵活的Tika Prase方法进行解析
String content;
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
parser.parse(stream, handler, metadata);
content = handler.toString();
}
System.out.println(content);
解析为XHMTL格式
String content;
AutoDetectParser parser = new AutoDetectParser();
//解析为XHTML
ContentHandler handler = new ToXMLContentHandler();
Metadata metadata = new Metadata();
try (InputStream stream = TikaTest.class.getResourceAsStream("/doc/XX_中文_20170109_44631986.doc")) {
parser.parse(stream, handler, metadata);
content = handler.toString();
}
System.out.println(content);
还没有评论,来说两句吧...