使用扩展名获取mimetype
在Android中很多时候我们需要计算出文件的mimetype,而我们通常的思路就是通过扩展名来获取对应的mimetype,而如果自行处理,将维护一个比较大的映射表,而实际上大可不必,Android提供了一个比较大的key(扩展名) - value(mimetype)的映射。所以我们不需要重复造轮子,直接使用即可。
这个类的位置:
android.webkit.MimeTypeMap
一个可以直接使用的根据扩展名获取mimetype的方法
    public static String getMimeType(final String subfix) {
    	if (TextUtils.isEmpty(subfix)) {
    		return null;
    	}
    	final String postfix = subfix.toLowerCase();
    	String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(postfix);
	//如果没有取到,我们则可以自己去处理
	if(TextUtils.isEmpty(mimeType)){
		if(postfix.equals("gz")){
			return "application/x-gzip";
		} else if(postfix.equals("bz")){
			return "application/x-bzip";
		} else if(postfix.equals("bz2")){
			return "application/x-bzip2";
		} else if(postfix.matches("java|php|c|cpp|xml|py|log")){
			return "text/plain";
		}
	}
		return mimeType;
    }												
											使用扩展名获取mimetype的更多相关文章
- Qt之根据扩展名获取文件图标、类型
		简述 在C++根据扩展名获取文件图标.类型一节中我们分享了如何根据扩展名来获取对应的文件图标.类型,下面.我们在Qt中使用它. 简述 示例 效果 源码 更多参考 示例 如下,我们根据扩展名来获取对应的 ... 
- Qt之QFileIconProvider(根据扩展名获取文件图标、类型)
		简述 在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型.但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关 ... 
- C++根据扩展名获取文件图标、类型
		简述 在Windows系统中,根据扩展名来区分文件类型,比如:.txt(文本文件)..exe(可执行程序).*.zip(压缩文件),下面,我们来根据扩展名来获取对应的文件图标.类型. 简述 源码 源码 ... 
- strrchr 一个获取扩展名的方便的php函数
		上传文件时,$_FILES里面的name是稳健的名称,要获取扩展名就用 strrchr(str,符号)来截取最后一个.后面的扩展名 然后用 trim 去掉特殊字符. 就可以得到扩展名了 
- lua 获取文件名和扩展名
		local str = "aaa.bbb.bbb.txt" --获取文件名 function getFileName(str) local idx = str:match(&quo ... 
- asp获取文件名和扩展名的函数代码
		<% '获取文件名(不含扩展名) Function getFilename(text)text = Left(text,inStrRev(text,".")-1)getFil ... 
- Asp.Net 获取FileUpload控件的文件路径、文件名、扩展名
		string fileNameNo = Path.GetFileName(FileUploadImg.PostedFile.FileName); //获取文件名和扩展名string Directory ... 
- C# 获取文件名及扩展名
		C# 获取文件名及扩展名 string aFirstName = aFile.Substring(aFile.LastIndexOf("\\") + 1, (aFile.LastI ... 
- java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中
		/** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. * * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件 ... 
随机推荐
- Jmeter性能测试 及压测入门
			Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户 ... 
- [置顶] mkdir函数-linux
			tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial"> 
- Linux 备份工具
			Linux 备份工具 GNU 的传统备份工具 GNU tar — http://www.gnu.org/software/tar/ GNU cpio — http://www.gnu.org/so ... 
- google地图marker文字label添加js lib
			google的地图marker需要使用js开发库,文件并允许使用js库 在JSP页面中需要添加地图引用如: <script src="http://maps.googleapis.co ... 
- C# 基础知识 (一).概念与思想篇
			在C#中有一些我自己认为比较独特的知识点,这些知识点是我经常使用的知识,但对它们的了解还是比较少的,所以通过查找资料学习,总结了这些独特的知识点并简单叙述,第一篇主要是一些概念和思想方面的知识.(后面 ... 
- 加濾鏡效果GlowTween
			/** * * new GlowTween(xxxx, 0xFFFF00); * new GlowTween(xxxx, 0x00FFFF); * GlowTween */ package com.r ... 
- Open Replicator
			Open Replicator ( http://code.google.com/p/open-replicator/ ) 开源了.Open Replicator是一个用Java编写的MySQL bi ... 
- Linux学习4——Vim和Bash
			一.写在前面 本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 ... 
- Apache Tiles 2.x 应用指南(转)
			转自:http://jaymsimusic.iteye.com/blog/1138906 Apache Tiles 2.x 应用指南 博客分类: Apache Tiles Jakarta Tile ... 
- C# 3循环 for语句应用
			class 做图形 { static void Main(string[] args) { //打印下列图形 //★★★★★ //★★★★★ //★★★★★ //★★★★★ //★★★★★ // 图( ... 
