Как определить типы файлов в Android
Вопрос
Как лучше всего определить тип файла в Android?
Я хочу проверить, является ли данный файл изображением, музыкальным файлом и т. д.
Решение
<Ол>
Включите некоторые
Включите
Ол>
mime.types
файлы в папке активов (например, из /etc/mime.types). activation.jar
(от JAF) в пути сборки. Используйте что-то вроде этого:
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();
}
Затем используйте FileDataSource.getContentType()
для получения типов файлов.
Другие советы
public static String getMimeType(String fileUrl) {
String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
return (mimeType != null) ? mimeType : "unknown";
}
Распространенный способ — использовать только их расширение, или вы можете проанализировать заголовок, но для ваших приложений это должно быть слишком медленно и сложнее.
Не связан с StackOverflow