【发布时间】:2011-08-27 14:27:25
【问题描述】:
我希望能够创建一个新的 Tika 解析器来从文件中提取元数据。我们已经在使用 Tika,元数据提取将始终如一地进行。
我认为我遇到了 Tika 的这个问题/增强请求:
Allow passing of files or memory buffers to parsers
我有一个控制台 c++ 可执行文件,它在输入时接受文件的路径,然后输出它找到的元数据,每行由名称/值对组成。
c++ 代码依赖于在访问数据时需要文件路径的库。
用 Java 重写这个可执行文件是不可能的。
我认为将其插入 Tika 会相当容易。但是 Tika 解析器需要在 Java 中,并且需要重写的 Tika 解析器方法需要一个开放的输入流:
void parse(InputStream 流、ContentHandler 处理程序、元数据元数据、ParseContext 上下文)
所以我想我唯一的解决方案是获取输入流并将其写入临时文件,然后处理写入的文件,然后最终清理文件。我讨厌弄乱临时文件,然后可能不得不担心临时文件的清理,如果出现问题并且它不会被删除。
有没有人知道如何干净利落地处理这样的事情?
【问题讨论】:
标签: java file inputstream apache-tika