Apache Tika и доступ к файлам вместо Java Input Stream

Я хочу иметь возможность создать новый парсер Tika для извлечения метаданных из файла. Мы уже используем Tika, и извлечение метаданных будет выполняться последовательно.

Я думаю, что столкнулся с этой проблемой / запросом на улучшение для Tika:

Разрешить передачу файлов или буферов памяти в парсеры

I иметь исполняемый файл консоли C ++, который принимает путь к файлу на входе и затем выводит найденные метаданные, каждая строка состоит из пар имя / значение.

Я хочу иметь возможность создать новый парсер Tika для извлечения метаданных из файла. Мы уже используем Tika, и извлечение метаданных будет выполняться последовательно.

Я думаю, что я столкнулся с этой проблемой / запросом на улучшение для Tika:

Разрешить передачу файлов или буферов памяти в парсеры

I иметь исполняемый файл консоли C ++, который принимает путь к файлу на входе и затем выводит найденные метаданные, каждая строка состоит из пар имя / значение.

Я хочу иметь возможность создать новый парсер Tika для извлечения метаданных из файла. Мы уже используем Tika, и извлечение метаданных будет выполняться последовательно.

Я думаю, что я столкнулся с этой проблемой / запросом на улучшение для Tika:

Разрешить передачу файлов или буферов памяти в парсеры

I иметь консольный исполняемый файл C ++, который принимает путь к файлу на входе и затем выводит найденные метаданные, каждая строка состоит из пар имя / значение.
The c++ code relies on libraries that expect a file path when accessing the data. It's not going to be possible to rewrite this executable in Java. I thought that it would be fairly easy to plug this into Tika. But the Tika parser needs to be in Java and the Tika parser method that needs to be overridden takes an open input stream:

void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context)

So I guess that my only solution will be to take the input stream and write it to a temporary file and then to process the file that gets written and to then finally clean up the file. I hate messing with a temporary file and then potentially having to worry about cleanup of temp files should something go wrong and it doesn't get deleted.

Does anyone have a clever idea about how to cleanly deal with something like this?

5
задан George 17 May 2011 в 21:32
поделиться