【发布时间】:2016-12-22 11:47:37
【问题描述】:
我之前通过调用tika.parseToString() 成功地用Tika 解析了各种文件,而无需设置任何自定义配置或元数据。现在我需要根据 mime-type 过滤要解析的文件。
我可以使用tika.detect(new BufferedInputStream(inputStream), new Metadata()); 找到 mime 类型,但是在之后调用tika.parseToString() 时,tika 使用 EmptyParser 并且检测到的内容类型是“application/octet-stream”。这是默认设置,这意味着 tika 无法找到它是什么类型的文件。在尝试解析文件之前,我曾尝试在元数据中设置内容类型,但这会导致org.apache.tika.exception.TikaException: TIKA-198: Illegal IOException。根据我的阅读,这意味着文件格式错误,但相同的文件在没有事先检查 mime-type 的情况下成功解析。
detect() 是否对 InputStream 进行处理,导致解析器无法解析文件?
我使用相同的 tika-instance 来检查 mime 类型和解析,版本 1.13
【问题讨论】:
标签: java apache-tika text-extraction