Как получить текстовые файлы содержимого с тика 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();
}
Другие вопросы по тегам