URLConnection#guessContentTypeFromStream()
или ...FromName()
действительно лучшее, что вы можете получить в стандартном Java SE API. Однако существуют сторонние библиотеки, такие как jMimeMagic, которые работают лучше, чем методы URLConnection#guessXXX()
.
String mimeType = Magic.getMagicMatch(file, false).getMimeType();
Это поддерживает более широкий спектр типов пантомимы.