在 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";
}
一种常见的方法是仅通过它们的扩展名,或者您可以解析标头,但是对于您的应用程序来说它应该太慢且更复杂。