如何使用tika 1.6获取文本内容文件?

问题描述:

嗨,我试图从任何文件中的文本内容在此列表PDF,TXT,DOC,DOCX和ODT 与蒂卡实施以前工作正常,但现在坏了, 的代码是:如何使用tika 1.6获取文本内容文件?

```

public void uploadFile(FileUploadEvent event) throws Exception { 
UploadedFile file = event.getUploadedFile(); 
byte[] data = file.getData(); 
Tika tika = new Tika(); 
string = tika.parseToString(new ByteArrayInputStream(data)); 
... 
} 

```

任何想法? ,执行不好?

+0

你有所有的Tika罐子在classpath ,以及他们所有的依赖? – Gagravarr 2015-01-18 23:32:46

+0

我使用行家和与此代码 org.apache.tika蒂卡核 1.6 org.apache.tika蒂卡的解析器 添加TIKA 1.6 [Tika参考](http://tika.apache.org/1.4/gettingstarted.html) – 2015-01-19 17:06:27

+0

这会为您编译,但您确定它们也正确地进入您的部署吗? – Gagravarr 2015-01-19 17:33:56

您需要添加tika解析器。

例如与Maven加入这个依赖于你的pom.xml:

<dependency> 
     <groupId>org.apache.tika</groupId> 
     <artifactId>tika-parsers</artifactId> 
     <version>1.7</version> 
</dependency> 

你也可以使用自动检测分析器:

BodyContentHandler handler = new BodyContentHandler(); 
AutoDetectParser parser = new AutoDetectParser(); 
Metadata metadata = new Metadata(); 
try { 
    parser.parse(is, handler, metadata); 
    text = handler.toString(); 
} catch(TikaException te) { 
    System.out.println(te.toString()); 
} finally { 
    is.close(); 
}