Как получить тип носителя файла (тип MIME)?

К сожалению,

mimeType = file.toURL().openConnection().getContentType();

не работает, поскольку javax такое использование URL-адреса java оставляет файл заблокированным, так java-se что, например, его нельзя java-se удалить.

Однако у вас есть jre это:

mimeType= URLConnection.guessContentTypeFromName(file.getName());

, а также следующее, преимущество core-java которого заключается в том, что openjdk оно выходит за рамки простого .java использования расширения javax файла и позволяет заглянуть javax в контент

InputStream is = new BufferedInputStream(new FileInputStream(file));
mimeType = URLConnection.guessContentTypeFromStream(is);
 //...close stream

Однако, как следует openjdk из комментария выше, встроенная j2se таблица mime-типов весьма java-se ограничена, не включая, например, MSWord javax и PDF. Итак, если вы хотите java-libraries обобщить, вам нужно выйти oraclejdk за рамки встроенных библиотек, используя, например, Mime-Util openjdk (отличная библиотека, использующая openjdk как расширение файла, так jre и содержимое).

java

mime

2022-11-03T14:58:06+00:00