博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tika简单实例应用
阅读量:2389 次
发布时间:2019-05-10

本文共 2123 字,大约阅读时间需要 7 分钟。

1、Maven pom.xml

创建Maven项目,添加以下依赖

org.apache.tika
tika-core
1.20
org.apache.tika
tika-parsers
1.20
org.apache.tika
tika-app
1.20

2、Java类

package cn.hadron.tikademo.util;import org.apache.tika.metadata.Metadata;import org.apache.tika.parser.AutoDetectParser;import org.apache.tika.parser.ParseContext;import org.apache.tika.sax.BodyContentHandler;import java.io.File;import java.io.FileInputStream;public class TikaUtil {    public static String parse(String filePath) throws Exception{        return parse(filePath,10*1024*1024);    }    public static String parse(String filePath,int limit) throws Exception{        File file=new File(filePath);        if(!file.exists()){            System.out.println("目标文件不存在!");            return null;        }        BodyContentHandler handler=null;        if(limit>10*1024*1024) {            handler = new BodyContentHandler(limit);        }else{            handler = new BodyContentHandler(10 * 1024 * 1024);        }        Metadata meta=new Metadata();        FileInputStream input=new FileInputStream(file);        ParseContext context=new ParseContext();        new AutoDetectParser().parse(input,handler,meta,context);        return handler.toString();    }    public static void main(String[] args) throws Exception {        String content=TikaUtil.parse("D:\\tika\\a.doc");        System.out.println(content);    }}

程序说明:

默认可读取10万以内个字符文档,如果文档文件过大,则报错。
org.apache.tika.sax.WriteOutContentHandler$WriteLimitReachedException: Your document contained more than 100000 characters, and so your requested limit has been reached. To receive the full text of the document, increase your limit. (Text up to the limit is however available).
解决办法:
通过BodyContentHandler()有参构造器,设置更大的字符数限制。比如10 * 1024 * 1024,可读取1000万左右的字符文档。

new BodyContentHandler(10 * 1024 * 1024);

3、运行效果

在这里插入图片描述

在这里插入图片描述

转载地址:http://arvab.baihongyu.com/

你可能感兴趣的文章
windows资源管理器及ie监听
查看>>
No module named 'Crypto'
查看>>
常用openstack的镜像下载及密码
查看>>
详解python中的浅拷贝和深拷贝
查看>>
详解python中闭包和装饰器
查看>>
修改openstack云主机的IP地址
查看>>
ubuntu系统的定制裁剪(适用于嵌入式瘦客户端)
查看>>
嵌入式之系统移植详解(linux)
查看>>
openstack之 glance_image和instances存储目录解析
查看>>
centos7(三节点)搭建ceph环境
查看>>
将linux(ubuntu)安装到U盘下面--便携式ubuntu和使用dd制作U盘安装工具
查看>>
linux之强大的find命令
查看>>
python使用变量操作mysql语句
查看>>
linux bridge 网桥详解
查看>>
ceph&openstack发展前景
查看>>
Mysql之主键、外键和各种索引
查看>>
python main()函数 name == ‘main’:
查看>>
flask一个基本的http响应流程
查看>>
linux常见的文件及目录操作12个命令
查看>>
挂载ceph的rbd块存储作为本地磁盘块
查看>>