我正在尝试使用 apache tika 解析文本文件。我将文件传递给以下代码:
public String parseFile(File file) throws Exception{
Parser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
BodyContentHandler handler = new BodyContentHandler(1000000000);
FileInputStream is = new FileInputStream(file);
parser.parse(is, handler, metadata, parseContext);
System.out.println("Content: "+ handler.toString());
return handler.toString();
}
我的问题是 Tika 可以识别某些文件,但不能识别所有文件。很抱歉,但我无法实际附加不起作用的文件(企业原因)。如果我确实找到了一个可以接受的例子,我会分享它。我想知道我是否做错了什么明显的事情。我不确定 BodyContentHandler 类是如何工作的。在我网上阅读的大部分教程中,代码如下:
ContentHandler handler = new BodyContentHandler ();
但是,我的 Eclipse 拒绝接受这一点。并要求我将 BodyContentHandler 转换为 ContentHandler ,这会导致其他问题。
我正在尝试支持文本文件、pdf 文件、word 文档、excel 文件。无效的文本文件具有特定属性:我将电子邮件线程从 Outlook 复制粘贴到记事本。大多数不起作用的文件都属于这种类型。