我正在尝试确定存储在 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实例.
>用户主目录中的文件.mime.types.
>文件/lib/mime.types
>名为meta-inf / mime-types的文件或资源
>名为meta-inf / mime-types.default的文件或资源(通常只在activation.jar文件中找到)

如果您的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!

Java MimetypesFileTypeMap始终在Android模拟器上返回应用程序/八位字节流的更多相关文章

  1. 在iOS(iPhone / iPad / iPod)上查找所有注册的mime-types / url方案协议(intent filters)

    我是移动网络开发人员,我想测试一些iOS设备,以查看iOS设备可以接受的MIME类型和网址计划.在Android上,我可以安装一个名为PackageExplorer的应用程序,该应用程序列出了所有apks的所有“intentfilters”,并列出了什么文件mime-types(image/png,text/html,text/x-vcard)和url方案像geo:,tel:,sms:,mailt

  2. Android中目录的MIME类型

    我想知道我是否可以启动一个Intent来查看带有文件浏览器的目录(如果设备上安装了一个),那么我可以打开这样的文件夹:解决方法AndExplorer有供应商mime类型使用AndExplorer作为文件选择器:>vnd.android.cursor.dir/lysesoft.andexplorer.director>vnd.android.cursor.dir/lysesoft.andexplor

  3. 我的应用程序不会出现在android.intent.action.VIEW的选择器对话框中,仅在Marshmallow上使用mime type video / *

    基本上,当一个应用程序共享一个视频网址时,我的应用程序应该显示在列表中,但事实并非如此.MXPlayer和谷歌照片媒体播放器都没有显示好和全播(最近有一个版本来解决这个问题).我写了一个快速的应用来测试这个问题,这是我的清单过滤器:这是重现问题的代码:这只是棉花糖的一个问题.编辑:我应该补充一点,并非所有棉花糖设备都这样做.我第一次听说它时花了很长时间才重现它,有一天它刚刚开始在我的Nexus5上

  4. Android:如果我想从Downloads文件夹中查看/选择一个SQLite数据库,那么mime类型是什么?

    我正在使用sqlite数据库编写应用程序.我已经编写了备份我的sqlite数据库的代码.我现在希望能够从这样的副本中恢复我的应用程序数据库.我正在使用Android设备“打开”对话框.如果我在列表中使用其他内容提供商,我会看到该文件,例如“蓝牙文件传输”!

  5. android – 如何向联系人添加新字段?

    我要添加一个自定义字段到ContactsContract内容提供程序.我正在尝试构建一个Voip应用程序,并希望添加一个SIP地址字段.我需要与什么MIME类型相关联?如果有人能给我一个例子会很棒.解决方法你必须为这些创建你自己的mime类型.这是一个例子,将一个布尔值作为我的自定义MIME类型保存到联系人.它使用最新的SDK2.1

  6. php文件类型MIME对照表(比较全)

    这篇文章主要介绍了php文件类型MIME对照表,需要的朋友可以参考下

  7. Ajax的原生实现关于MIME类型的使用方法

    下面小编就为大家分享一篇Ajax的原生实现关于MIME类型的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  8. PHP实现获取文件mime类型多种方法解析

    这篇文章主要介绍了PHP实现获取文件mime类型多种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  9. PHP将图像附加到电子邮件

    有没有办法将图像附加到用PHP创建的html格式的电子邮件消息?我们需要确保将公司徽标发送给发送给客户的电子邮件,这些客户在阅读电子邮件时可能无法访问互联网.试试PEARMail_Mime套装,可以embedimagesforyou.您需要使用addHTMLImage()方法并传递内容ID,这是一个唯一的文本字符串,您还将在img的src属性中用作cid:URL.例如:

  10. 在PHP中检测MIME类型

    我正在寻找最好的的方式来检测PHP中的文件MIME类型.我知道mime_content_type()方法和Fileinfo扩展,但是mime_content_type()是不可靠和不推荐的,并且Fileinfo没有进入“标准”PHP(5.2)安装.我还有其他选择吗?你看过这个PEAR包了吗?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部