Apache Tika和File访问而不是Java Input Stream
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Apache Tika和File访问而不是Java Input Stream,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1188字,纯文字阅读大概需要2分钟。
内容图文
![Apache Tika和File访问而不是Java Input Stream](/upload/InfoBanner/zyjiaocheng/826/8029184afe3c490dba485a3d6e9c8eb3.jpg)
我希望能够创建一个新的Tika解析器来从文件中提取元数据.我们已经在使用Tika,元数据提取将始终如一.
我想我已经遇到了Tika的这个问题/增强请求:
Allow passing of files or memory buffers to parsers
我有一个控制台c可执行文件,它接受输入文件的路径,然后输出它找到的元数据,每行包含名称/值对.
c代码依赖于在访问数据时期望文件路径的库.
用Java重写这个可执行文件是不可能的.
我认为把它插入Tika是相当容易的.但是Tika解析器需要使用Java,并且需要重写的Tika解析器方法需要一个开放的输入流:
void parse(InputStream流,ContentHandler处理程序,元数据元数据,ParseContext上下文)
所以我想我唯一的解决方案是获取输入流并将其写入临时文件,然后处理写入的文件,然后最终清理文件.我讨厌搞乱一个临时文件,然后可能不得不担心临时文件的清理应该出错并且不会被删除.
有没有人对如何干净地处理这样的事情有一个聪明的想法?
解决方法:
有TikaInputStream应该有所帮助.它处理包装File或InputStream,并在解析器需要时在内部进行转换.它会根据您的需要执行所有临时文件位.
一些Java解析器已经使用它,因为它们需要File而不是Input Stream.更重要的是,拥有文件的用户可以将其传递给包含为InputStream的Parser,并且解析器可以根据需要将其读取为File或InputStream.
所以,我建议你只需将InputStream转换为TikaInputStream(如果它已经是一个,它只是一个演员),然后获取文件并将其传递给你的c.
内容总结
以上是互联网集市为您收集整理的Apache Tika和File访问而不是Java Input Stream全部内容,希望文章能够帮你解决Apache Tika和File访问而不是Java Input Stream所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。