文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Android 中文件类型与MIME的匹配表

Android 中文件类型与MIME的匹配表

时间:2010-09-16  来源:Braincol

背景介绍:

MIME:全称Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务。它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

在Android中通过文件的MIME类型来判断有哪些应用程序可以处理这些文件,并使用其中的某一个应用程序(如果有多个可选的应用程序,则用户必须指定一个)处理之。

我在写android资源管理器(文件浏览器)的时候,希望能在资源管理器的中实现打开文件的操作,此时就需要用到文件的MIME类型。

实现方法:

   /**
    * 根据文件后缀名获得对应的MIME类型。
    * @param file
    */
   private String getMIMEType(File file)
   {
           String type="*/*";
           String fName=file.getName();
           /* 获取文件的后缀名 */
           String end=fName.substring(fName.lastIndexOf("."),fName.length()).toLowerCase();
           if(end=="")return type;
           //在MIME和文件类型的匹配表中找到对应的MIME类型。
           for(int i=0;i<MIME_MapTable.length;i++){
                   if(end.equals(MIME_MapTable[i][0]))
                           type = MIME_MapTable[i][1];
           }
           return type;
   }
   /**
    * 打开文件
    * @param file
    */
   private void openFile(File file){
           //Uri uri = Uri.parse("file://"+file.getAbsolutePath());
           Intent intent = new Intent();
           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           //设置intent的Action属性
           intent.setAction(Intent.ACTION_VIEW);
           //获取文件file的MIME类型
           String type = getMIMEType(file);
           //设置intent的data和Type属性。
           intent.setDataAndType(/*uri*/Uri.fromFile(file), type);
           //跳转
           startActivity(intent);  
   }
 现在就差一个MIME类型和文件类型的匹配表了。
 
------------------------------- 我是背景分割线 ------------------------------------------
 
"文件类型——MIME类型"的匹配表:
   //建立一个MIME类型与文件后缀名的匹配表
   private final String[][] MIME_MapTable={
           //{后缀名,   MIME类型}
           {".3gp",   "video/3gpp"},
           {".apk",   "application/vnd.android.package-archive"},
           {".asf",   "video/x-ms-asf"},
           {".avi",   "video/x-msvideo"},
           {".bin",   "application/octet-stream"},
           {".bmp",   "image/bmp"},
           {".c",             "text/plain"},
           {".class", "application/octet-stream"},
           {".conf",  "text/plain"},
           {".cpp",   "text/plain"},
           {".doc",   "application/msword"},
           {".exe",   "application/octet-stream"},
           {".gif",   "image/gif"},
           {".gtar",  "application/x-gtar"},
           {".gz",            "application/x-gzip"},
           {".h",             "text/plain"},
           {".htm",   "text/html"},
           {".html",  "text/html"},
           {".jar",   "application/java-archive"},
           {".java",  "text/plain"},
           {".jpeg",  "image/jpeg"},
           {".jpg",   "image/jpeg"},
           {".js",            "application/x-javascript"},
           {".log",   "text/plain"},
           {".m3u",   "audio/x-mpegurl"},
           {".m4a",   "audio/mp4a-latm"},
           {".m4b",   "audio/mp4a-latm"},
           {".m4p",   "audio/mp4a-latm"},
           {".m4u",   "video/vnd.mpegurl"},
           {".m4v",   "video/x-m4v"},    
           {".mov",   "video/quicktime"},
           {".mp2",   "audio/x-mpeg"},
           {".mp3",   "audio/x-mpeg"},
           {".mp4",   "video/mp4"},
           {".mpc",   "application/vnd.mpohun.certificate"},             
           {".mpe",   "video/mpeg"},     
           {".mpeg",  "video/mpeg"},     
           {".mpg",   "video/mpeg"},     
           {".mpg4",  "video/mp4"},      
           {".mpga",  "audio/mpeg"},
           {".msg",   "application/vnd.ms-outlook"},
           {".ogg",   "audio/ogg"},
           {".pdf",   "application/pdf"},
           {".png",   "image/png"},
           {".pps",   "application/vnd.ms-powerpoint"},
           {".ppt",   "application/vnd.ms-powerpoint"},
           {".prop",  "text/plain"},
           {".rar",   "application/x-rar-compressed"},
           {".rc",            "text/plain"},
           {".rmvb",  "audio/x-pn-realaudio"},
           {".rtf",   "application/rtf"},
           {".sh",            "text/plain"},
           {".tar",   "application/x-tar"},      
           {".tgz",   "application/x-compressed"}, 
           {".txt",   "text/plain"},
           {".wav",   "audio/x-wav"},
           {".wma",   "audio/x-ms-wma"},
           {".wmv",   "audio/x-ms-wmv"},
           {".wps",   "application/vnd.ms-works"},
           {".xml",   "text/xml"},
           {".z",             "application/x-compress"},
           {".zip",   "application/zip"},
           {"",               "*/*"}     
   };
 
这个表目前还不全,上面的只是一些常用的文件类型,对于其他的文件类型和MIME的匹配值我会在以后更新。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载