Как получить текстовые файлы содержимого с тика 1.6?
Привет я пытаюсь получить текстовое содержимое из любых файлов в этом списке pdf,txt,doc,docx и odt. Реализация с тика ранее работала нормально, но теперь не работает, код такой:
`` `
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));
...
}
`` `
Есть идеи? плохая реализация?
1 ответ
Решение
Вам нужно добавить тика-парсеры.
Например, с помощью maven добавьте эту зависимость в ваш файл pom.xml:
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.7</version>
</dependency>
И вы можете использовать Auto-Detect Parser:
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();
}