2015-01-15 81 views
1

嗨,我試圖從任何文件中的文本內容在此列表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

回答

1

您需要添加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(); 
} 
相關問題