题
在 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