Если вы хотите принимать только определенные типы, вам все равно понадобится полный набор типов mimetypes. В противном случае, как еще вы можете обнаружить, что файл, который вам только что дали, на самом деле является MP3, а не одним из утвержденных вами форматов? Таким образом, сохраните полный набор типов mimtypes для обнаружения
После того, как вы сделали шаг обнаружения и решили, что это допустимый mimetype, вы можете просто передать файл на AutoDetectParser
и покончить с этим. В конце концов, вы проверите mimetype, возвращаемый детектором, и уже выручили бы, если он вам не нравится.
Однако, если вам нужна дополнительная проверка, есть два способа сделать это. Один из них - иметь собственный файл org.apache.tika.parser.Parser
, в котором перечислены парсеры только тех форматов, которые вы хотите использовать. Это файл конфигурации, который используется для определения того, какие парсеры должны быть доступны для AutoDetectParser
, поэтому, если, например, вы удалили MP3Parser
из этого списка, анализатор автоопределения перестанет обрабатывать MP3.
Другой способ - просто получить явный список парсеров, которые вы хотите поддерживать. Затем, вместо того, чтобы использовать анализатор автоопределения, просто перебирайте все из них, пока не получите тот, который способен работать с файлом, и напрямую вызовите метод синтаксического анализа для этого. Это даст вам больше всего контроля, но, возможно, немного больше работы.