在Android中确定文件类型的最佳方法是什么?
我想检查给定的文件是图像,音乐文件等。
答案 0 :(得分:4)
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()
获取文件类型。
答案 1 :(得分:2)
public static String getMimeType(String fileUrl) {
String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
return (mimeType != null) ? mimeType : "unknown";
}
答案 2 :(得分:0)
常见的方法是仅使用其扩展名,或者您可以解析标题,但对于您的应用来说,它应该更慢,更复杂。