java tika 读取文件_记:Lucene+Tika文档内容提取

Tika是一个用于文件类型检测和文件内容提取的库,具有以下提点。

统一解析接口。Tika所有第三方解析库被封装在一个单一的解析器中,由于这个特征,用户减少了根据不同文档类型选择合适的解析库的负担。

低内存占用。因为统一的解析器接口,Tika消耗的内存资源更少,也很容易嵌入各种Java应用程序。

快速处理。应用中内容检测和信息提取可以预期,处理速度快。

灵活元数据。Tika理解所有用来描述文件的元数据模型。

解析器集成。Tika可以使用单一应用程序中每个文件类型的各种解析器库。

MIME类型检测。Tika可以检测并从所有包括在MIME标准媒体类型中提取内容。

语言检测。Tika包含语言识别功能,因此可以在一个多语种网站基于语言类型的文档中使用。

public static void main(String[] args) throws IOException, TikaException, SAXException {

//新建存放各种文件的file文件夹

File files = new File("/Users/fxl/IdeaProjects/learning-pro/lucene/src/main/resources/doc");

if (!files.exists()) {

System.out.println("文件夹不存在,请检查!");

System.exit(0);

}

File[] fileArr = files.listFiles();

//方法一

// Tika tika = new Tika();

// String fileContent;

// for (File f : fileArr) {

// fileContent = tika.parseToString(f);

// System.out.println("Extracted Content: " + fileContent);

// }

//方法二

BodyContentHandler handler = new BodyContentHandler(10 * 1024 * 1024);

//创建元数据

Metadata metadata = new Metadata();

FileInputStream fileInputStream;

Parser parser = new AutoDetectParser();

ParseContext parseContext = new ParseContext();

for (File f : fileArr) {

fileInputStream = new FileInputStream(f);

parser.parse(fileInputStream, handler, metadata, parseContext);

System.out.println(f.getName() + ":\n" + handler.toString());

}

}

152232701bd562633b30781a1fc64f2a.png

3d30fc54fa0852e5f3cce7b7c531a332.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值