Если вы застряли в java 5-6, то этот класс утилиты из сервома с открытым исходным кодом
Вам нужна только эта функция
public static String getContentType(byte[] data, String name)
Она проверяет первые байты содержимого и возвращает типы содержимого на основе этого содержимого, а не расширения файла.