Java MimetypesFileTypeMap始终在Android模拟器上返回应用程序/
发布时间:2020-12-14 05:45:56 所属栏目:Java 来源:网络整理
导读:我正在尝试确定存储在 Android设备上的Mime / Media类型(实际上是与仿真器一起使用的虚拟设备).我发现这个资源 Get the MIME Type from a File推荐了javax.activation.MimetypesFileTypeMap,但是当我运行以下代码时,我获得所有文件类型的应用程序/八位字节流
我正在尝试确定存储在
Android设备上的Mime / Media类型(实际上是与仿真器一起使用的虚拟设备).我发现这个资源
Get the MIME Type from a File推荐了javax.activation.MimetypesFileTypeMap,但是当我运行以下代码时,我获得所有文件类型的应用程序/八位字节流:
MimetypesFileTypeMap map = new MimetypesFileTypeMap(); File dir = Environment.getExternalStorageDirectory(); File[] files = dir.listFiles(); String mimeType; for( int i = 0; i < files.length; ++i ) { if( files[i].isDirectory() == false ) { mimeType = map.getContentType(files[i]); if( mimeType.toLowerCase().equals("application/octet-stream") ) { Log.d("mytag",String.format( "Unable to determine the mime type of file %s.",files[i].getName())); } } } 我已经使用具有以下扩展名的文件进行了测试:jpg,txt,doc,xslx和pdf,它们都返回相同的事情.有什么我要做的,以初始化地图?这个库可以在Android上找不到支持的mime类型列表吗?有没有更好的方法来获得Android上的文件的MIME类型? 解决方法
还有这个问题.根据Java文档,MimetypesFileTypeMap搜索
>以编程方式将条目添加到MimetypesFileTypeMap实例. 如果您的Mimetypes全部出现为“应用程序/八位字节流”,这意味着您没有上述任何文件存在(或者它们存在但不完整),并且没有向MimetypesFileTypeMap实例添加任何条目. 解决… MimetypesFileTypeMap mimetypes规格格式 # comments start with hash marks # format is <mime type> <space separated file extensions> # for example,for an image mime type and a text mime type image png tif jpg jpeg bmp text txt text rtf TXT # either place those lines within the files specified by 2-4 or MimetypesFileTypeMap mtftp = new MimetypesFileTypeMap(); mtftp.addMimeTypes("image png tif jpg jpeg bmp") # and it's as easy as that! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |