tika读取文件内容
来源:互联网 发布:淘宝怎样激活蚂蚁花呗 编辑:程序博客网 时间:2024/06/03 11:37
Tika是一个内容抽取的工具集合(a toolkit for text extracting)。它集成了POI, Pdfbox 并且为文本抽取工作提供了一个统一的界面。其次,Tika也提供了便利的扩展API,用来丰富其对第三方文件格式的支持。
在当前的0.2-SNAPSHOT版本中, Tika提供了对如下文件格式的支持:
- PDF - 通过Pdfbox
- MS-* - 通过POI
- HTML - 使用nekohtml将不规范的html整理成为xhtml
- OpenOffice 格式 - Tika提供
- Archive - zip, tar, gzip, bzip等
- RTF - Tika提供
- Java class - Class解析由ASM完成
- Image - 只支持图像的元数据抽取
- XML
Tika的API十分便捷,核心是Parser interface,其中定义了一个parse方法:public void parse(InputStream stream, ContentHandler handler, Metadata metadata)
用stream参数传递需要解析的文件流, 文本内容会被传入handler,而元数据会更新至metadata。
可以使用Tika的ParserUtils工具来根据文件的mime-type
来得到一个适当的Parser来进行解析工作。或者Tika还提供了一个AutoDetectParser根据不同的二进制文件的特殊格式 (比如说Magic Code),来寻找适合的Parser。
提示:主要tika-xx.jar,解析相应的文件必须有相应的jar.例如:excel文件必须用到poi-xx.jar
相关包下载地址http://download.csdn.net/download/an74520/7658941
package com.miracle.tools;import org.apache.tika.metadata.Metadata;import org.apache.tika.parser.AutoDetectParser;import org.apache.tika.parser.ParseContext;import org.apache.tika.parser.Parser;import org.apache.tika.sax.BodyContentHandler;import org.xml.sax.ContentHandler;import java.io.*;/** * Created with IntelliJ IDEA. * User: lianan * Date: 14-3-3 * Time: 上午10:05 * To change this template use File | Settings | File Templates. */public class TiKaUtil { public static String parseFile(File file){ Parser parser = new AutoDetectParser(); InputStream input = null; try{ Metadata metadata = new Metadata(); metadata.set(Metadata.CONTENT_ENCODING, "utf-8"); metadata.set(Metadata.RESOURCE_NAME_KEY, file.getName()); input = new FileInputStream(file); ContentHandler handler = new BodyContentHandler();//当文件大于100000时,new BodyContentHandler(1024*1024*10); ParseContext context = new ParseContext(); context.set(Parser.class,parser); parser.parse(input,handler, metadata,context); for(String name:metadata.names()) { System.out.println(name+":"+metadata.get(name)); } System.out.println(handler.toString()); return handler.toString(); }catch (Exception e){ e.printStackTrace(); }finally { try { if(input!=null)input.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } public static void main(String argt0[])throws Exception{ parseFile(new File("E:\\学习手册pdf\\HOST.txt")); }}
0 0
- tika读取文件内容
- tika读取文件内容
- 文件内容读取--Tika
- 【tika】读取各个文件数据
- Apache Lucene Tika 文件内容提取工具
- Apache Lucene Tika 文件内容提取工具
- (1)Tika获取文件的类型、编码、文本内容
- Tika解析rar文件
- tika 解析文件
- tika抓取文档内容 总结
- tika in action主体内容
- Apache TIKA---抽取多类型文件文本内容和文件的“隐藏信息”
- 读取xml文件内容
- 文件内容读取
- 读取网络文件内容
- Shell读取文件内容
- 读取Excel文件内容
- FileReader读取文件内容!
- UML总结(对九种图的认识和如何使用Rational Rose 画图)
- OFDM信道估计
- Thinking in BigData(九)大数据hadoop集群下离线数据存储和挖掘架构
- Android 内存优化
- hadoop 作业调优参数整理及原理
- tika读取文件内容
- MFC 创建进程
- json 小结
- webservice原理解析
- 做搜索引擎就应当遵守robots规则
- 关于获取上传视频缩略图的方法
- 了解tomcat
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- 批处理命令大全