Obtener el MimeType de un fichero

En el caso de que queramos obtener el mimeType de un fichero, sólo tenemos que hacer uso de la clase MimetypesFileTypeMap; clase incluída en la librería activation.jar.

import java.util.*;
import java.lang.*;
import java.io.*;
import javax.activation.MimetypesFileTypeMap;

public class Prueba{
public static void main(String args []){

File fichero = new File(“/home/user/Imágenes/logo.jpg”);
String tipoFichero = new MimetypesFileTypeMap().getContentType(fichero);

System.out.println(tipoFichero);

}

}

La clase MimetypesFileTypeMap mira en difrentes lugares del sistema ficheros sobre los diferentes MimeTypes. La búsqueda es en el siguiente orden:

  1. Las entradas añadidas en un objeto de la clase MimetypesFileTypeMap dentro del código.
  2. El fichero .mime.types en el home del usuario.
  3. El fichero $JAVA_HOME/lib/mime.types.
  4. El fichero META-INF/mime.types.
  5. El fichero  META-INF/mimetypes.default, que generalmente se encuentra en activation.jar.