Question

Quelle est la meilleure façon de déterminer un type de fichier dans Android?

Je veux vérifier si le fichier est donné une image, un fichier musical, etc.

Était-ce utile?

La solution

  1. Inclure des fichiers mime.types dans votre dossier actif (par exemple de /etc/mime.types).
  2. Inclure activation.jar (de JAF) dans votre chemin de construction.
  3. Utilisez quelque chose comme ceci:

    try {
        MimetypesFileTypeMap mftm = 
            new MimetypesFileTypeMap(getAssets().open("mime.types"));
        FileTypeMap.setDefaultFileTypeMap(mftm);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
  4. Utilisez ensuite FileDataSource.getContentType() pour obtenir les types de fichiers.

Autres conseils

public static String getMimeType(String fileUrl) {
    String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
    final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
    return (mimeType !=  null) ? mimeType : "unknown";
}

Une façon courante est par leur extension seulement, ou vous pouvez analyser l'en-tête, mais il devrait être trop lent et plus complexe pour vos applications.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top