1.[代码][Java]代码

/*

* Copyright (C) 2013 Simple Explorer

*

* This program is free software; you can redistribute it and/or

* modify it under the terms of the GNU General Public License

* as published by the Free Software Foundation; either version 2

* of the License, or (at your option) any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

* GNU General Public License for more details.

*

* You should have received a copy of the GNU General Public License

* along with this program; if not, write to the Free Software

* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,

* MA 02110-1301, USA.

*/

package com.dnielfe.manager.preview;

import android.webkit.MimeTypeMap;

import com.dnielfe.manager.R;

import com.dnielfe.manager.utils.SimpleUtils;

import java.io.File;

import java.util.HashMap;

import java.util.Locale;

import java.util.regex.Pattern;

public final class MimeTypes {

public static final String ALL_MIME_TYPES = "*/*";

private static final HashMap EXT_ICONS = new HashMap<>();

private static final HashMap MIME_TYPES = new HashMap<>();

static {

// BINARY

EXT_ICONS.put("a", R.drawable.type_unknown);

EXT_ICONS.put("bin", R.drawable.type_unknown);

EXT_ICONS.put("class", R.drawable.type_unknown);

EXT_ICONS.put("com", R.drawable.type_unknown);

EXT_ICONS.put("dex", R.drawable.type_unknown);

EXT_ICONS.put("dump", R.drawable.type_unknown);

EXT_ICONS.put("exe", R.drawable.type_unknown);

EXT_ICONS.put("dat", R.drawable.type_unknown);

EXT_ICONS.put("dll", R.drawable.type_unknown);

EXT_ICONS.put("lib", R.drawable.type_unknown);

EXT_ICONS.put("o", R.drawable.type_unknown);

EXT_ICONS.put("obj", R.drawable.type_unknown);

EXT_ICONS.put("pyc", R.drawable.type_unknown);

EXT_ICONS.put("pyo", R.drawable.type_unknown);

EXT_ICONS.put("ser", R.drawable.type_unknown);

EXT_ICONS.put("swf", R.drawable.type_unknown);

EXT_ICONS.put("so", R.drawable.type_unknown);

// Shell

EXT_ICONS.put("bar", R.drawable.type_unknown);

EXT_ICONS.put("csh", R.drawable.type_unknown);

EXT_ICONS.put("ksh", R.drawable.type_unknown);

EXT_ICONS.put("sh", R.drawable.type_unknown);

// TEXT

EXT_ICONS.put("csv", R.drawable.type_note);

EXT_ICONS.put("diff", R.drawable.type_note);

EXT_ICONS.put("in", R.drawable.type_note);

EXT_ICONS.put("list", R.drawable.type_note);

EXT_ICONS.put("log", R.drawable.type_note);

EXT_ICONS.put("rc", R.drawable.type_note);

EXT_ICONS.put("text", R.drawable.type_note);

EXT_ICONS.put("txt", R.drawable.type_note);

EXT_ICONS.put("tsv", R.drawable.type_note);

// Properties

EXT_ICONS.put("properties", R.drawable.type_config);

EXT_ICONS.put("conf", R.drawable.type_config);

EXT_ICONS.put("config", R.drawable.type_config);

EXT_ICONS.put("prop", R.drawable.type_config);

// HTML

EXT_ICONS.put("htm", R.drawable.type_html);

EXT_ICONS.put("html", R.drawable.type_html);

EXT_ICONS.put("mhtml", R.drawable.type_html);

EXT_ICONS.put("xhtml", R.drawable.type_html);

// XML

EXT_ICONS.put("xml", R.drawable.type_xml);

EXT_ICONS.put("mxml", R.drawable.type_xml);

// DOCUMENT

EXT_ICONS.put("doc", R.drawable.type_note);

EXT_ICONS.put("docx", R.drawable.type_note);

EXT_ICONS.put("odp", R.drawable.type_note);

EXT_ICONS.put("odt", R.drawable.type_note);

EXT_ICONS.put("rtf", R.drawable.type_note);

EXT_ICONS.put("ods", R.drawable.type_note);

EXT_ICONS.put("xls", R.drawable.type_note);

EXT_ICONS.put("xlsx", R.drawable.type_note);

// Presentation

EXT_ICONS.put("ppt", R.drawable.type_note);

EXT_ICONS.put("pptx", R.drawable.type_note);

// PDF

EXT_ICONS.put("pdf", R.drawable.type_pdf);

EXT_ICONS.put("fdf", R.drawable.type_pdf);

EXT_ICONS.put("ldwf", R.drawable.type_pdf);

// Package

EXT_ICONS.put("ace", R.drawable.type_package);

EXT_ICONS.put("bz", R.drawable.type_package);

EXT_ICONS.put("bz2", R.drawable.type_package);

EXT_ICONS.put("cab", R.drawable.type_package);

EXT_ICONS.put("cpio", R.drawable.type_package);

EXT_ICONS.put("gz", R.drawable.type_package);

EXT_ICONS.put("lha", R.drawable.type_package);

EXT_ICONS.put("lrf", R.drawable.type_package);

EXT_ICONS.put("lzma", R.drawable.type_package);

EXT_ICONS.put("rar", R.drawable.type_package);

EXT_ICONS.put("tar", R.drawable.type_package);

EXT_ICONS.put("tgz", R.drawable.type_package);

EXT_ICONS.put("xz", R.drawable.type_package);

EXT_ICONS.put("zip", R.drawable.type_package);

EXT_ICONS.put("Z", R.drawable.type_package);

EXT_ICONS.put("7z", R.drawable.type_package);

EXT_ICONS.put("rar", R.drawable.type_package);

EXT_ICONS.put("tar", R.drawable.type_package);

EXT_ICONS.put("jar", R.drawable.type_package);

// Image

EXT_ICONS.put("bmp", R.drawable.type_pic);

EXT_ICONS.put("cgm", R.drawable.type_pic);

EXT_ICONS.put("g3", R.drawable.type_pic);

EXT_ICONS.put("gif", R.drawable.type_pic);

EXT_ICONS.put("ief", R.drawable.type_pic);

EXT_ICONS.put("jpe", R.drawable.type_pic);

EXT_ICONS.put("jpeg", R.drawable.type_pic);

EXT_ICONS.put("jpg", R.drawable.type_pic);

EXT_ICONS.put("png", R.drawable.type_pic);

EXT_ICONS.put("btif", R.drawable.type_pic);

EXT_ICONS.put("svg", R.drawable.type_pic);

EXT_ICONS.put("svgz", R.drawable.type_pic);

EXT_ICONS.put("tif", R.drawable.type_pic);

EXT_ICONS.put("tiff", R.drawable.type_pic);

EXT_ICONS.put("psd", R.drawable.type_pic);

EXT_ICONS.put("dwg", R.drawable.type_pic);

EXT_ICONS.put("dxf", R.drawable.type_pic);

EXT_ICONS.put("fbs", R.drawable.type_pic);

EXT_ICONS.put("fpx", R.drawable.type_pic);

EXT_ICONS.put("fst", R.drawable.type_pic);

EXT_ICONS.put("mmr", R.drawable.type_pic);

EXT_ICONS.put("rlc", R.drawable.type_pic);

EXT_ICONS.put("mdi", R.drawable.type_pic);

EXT_ICONS.put("npx", R.drawable.type_pic);

EXT_ICONS.put("wbmp", R.drawable.type_pic);

EXT_ICONS.put("xif", R.drawable.type_pic);

EXT_ICONS.put("ras", R.drawable.type_pic);

EXT_ICONS.put("ico", R.drawable.type_pic);

EXT_ICONS.put("pcx", R.drawable.type_pic);

EXT_ICONS.put("pct", R.drawable.type_pic);

EXT_ICONS.put("pic", R.drawable.type_pic);

EXT_ICONS.put("xbm", R.drawable.type_pic);

EXT_ICONS.put("xwd", R.drawable.type_pic);

EXT_ICONS.put("bpg", R.drawable.type_pic);

// Audio

EXT_ICONS.put("aac", R.drawable.type_music);

EXT_ICONS.put("adp", R.drawable.type_music);

EXT_ICONS.put("aif", R.drawable.type_music);

EXT_ICONS.put("aifc", R.drawable.type_music);

EXT_ICONS.put("aiff", R.drawable.type_music);

EXT_ICONS.put("amr", R.drawable.type_music);

EXT_ICONS.put("ape", R.drawable.type_music);

EXT_ICONS.put("au", R.drawable.type_music);

EXT_ICONS.put("dts", R.drawable.type_music);

EXT_ICONS.put("eol", R.drawable.type_music);

EXT_ICONS.put("flac", R.drawable.type_music);

EXT_ICONS.put("kar", R.drawable.type_music);

EXT_ICONS.put("lvp", R.drawable.type_music);

EXT_ICONS.put("m2a", R.drawable.type_music);

EXT_ICONS.put("m3a", R.drawable.type_music);

EXT_ICONS.put("m3u", R.drawable.type_music);

EXT_ICONS.put("m4a", R.drawable.type_music);

EXT_ICONS.put("mid", R.drawable.type_music);

EXT_ICONS.put("mid", R.drawable.type_music);

EXT_ICONS.put("mka", R.drawable.type_music);

EXT_ICONS.put("mp2", R.drawable.type_music);

EXT_ICONS.put("mp3", R.drawable.type_music);

EXT_ICONS.put("mpga", R.drawable.type_music);

EXT_ICONS.put("oga", R.drawable.type_music);

EXT_ICONS.put("ogg", R.drawable.type_music);

EXT_ICONS.put("pya", R.drawable.type_music);

EXT_ICONS.put("ram", R.drawable.type_music);

EXT_ICONS.put("rmi", R.drawable.type_music);

EXT_ICONS.put("snd", R.drawable.type_music);

EXT_ICONS.put("spx", R.drawable.type_music);

EXT_ICONS.put("wav", R.drawable.type_music);

EXT_ICONS.put("wax", R.drawable.type_music);

EXT_ICONS.put("wma", R.drawable.type_music);

// Video

EXT_ICONS.put("3gp", R.drawable.type_video);

EXT_ICONS.put("3gpp", R.drawable.type_video);

EXT_ICONS.put("3g2", R.drawable.type_video);

EXT_ICONS.put("3gpp2", R.drawable.type_video);

EXT_ICONS.put("h261", R.drawable.type_video);

EXT_ICONS.put("h263", R.drawable.type_video);

EXT_ICONS.put("h264", R.drawable.type_video);

EXT_ICONS.put("jpgv", R.drawable.type_video);

EXT_ICONS.put("jpgm", R.drawable.type_video);

EXT_ICONS.put("jpm", R.drawable.type_video);

EXT_ICONS.put("mj2", R.drawable.type_video);

EXT_ICONS.put("mp4", R.drawable.type_video);

EXT_ICONS.put("mp4v", R.drawable.type_video);

EXT_ICONS.put("mpg4", R.drawable.type_video);

EXT_ICONS.put("m1v", R.drawable.type_video);

EXT_ICONS.put("m2v", R.drawable.type_video);

EXT_ICONS.put("mpa", R.drawable.type_video);

EXT_ICONS.put("mpe", R.drawable.type_video);

EXT_ICONS.put("mpg", R.drawable.type_video);

EXT_ICONS.put("mpeg", R.drawable.type_video);

EXT_ICONS.put("ogv", R.drawable.type_video);

EXT_ICONS.put("mov", R.drawable.type_video);

EXT_ICONS.put("qt", R.drawable.type_video);

EXT_ICONS.put("fvt", R.drawable.type_video);

EXT_ICONS.put("m4u", R.drawable.type_video);

EXT_ICONS.put("pyv", R.drawable.type_video);

EXT_ICONS.put("viv", R.drawable.type_video);

EXT_ICONS.put("f4v", R.drawable.type_video);

EXT_ICONS.put("fli", R.drawable.type_video);

EXT_ICONS.put("flv", R.drawable.type_video);

EXT_ICONS.put("m4v", R.drawable.type_video);

EXT_ICONS.put("asf", R.drawable.type_video);

EXT_ICONS.put("asx", R.drawable.type_video);

EXT_ICONS.put("avi", R.drawable.type_video);

EXT_ICONS.put("wmv", R.drawable.type_video);

EXT_ICONS.put("wmx", R.drawable.type_video);

EXT_ICONS.put("mkv", R.drawable.type_video);

// Application

EXT_ICONS.put("apk", R.drawable.type_apk);

/*

* ================= MIME TYPES ====================

*/

MIME_TYPES.put("asm", "text/x-asm");

MIME_TYPES.put("def", "text/plain");

MIME_TYPES.put("in", "text/plain");

MIME_TYPES.put("rc", "text/plain");

MIME_TYPES.put("list", "text/plain");

MIME_TYPES.put("log", "text/plain");

MIME_TYPES.put("pl", "text/plain");

MIME_TYPES.put("prop", "text/plain");

MIME_TYPES.put("properties", "text/plain");

MIME_TYPES.put("rc", "text/plain");

MIME_TYPES.put("epub", "application/epub+zip");

MIME_TYPES.put("ibooks", "application/x-ibooks+zip");

MIME_TYPES.put("ifb", "text/calendar");

MIME_TYPES.put("eml", "message/rfc822");

MIME_TYPES.put("msg", "application/vnd.ms-outlook");

MIME_TYPES.put("ace", "application/x-ace-compressed");

MIME_TYPES.put("bz", "application/x-bzip");

MIME_TYPES.put("bz2", "application/x-bzip2");

MIME_TYPES.put("cab", "application/vnd.ms-cab-compressed");

MIME_TYPES.put("gz", "application/x-gzip");

MIME_TYPES.put("lrf", "application/octet-stream");

MIME_TYPES.put("jar", "application/java-archive");

MIME_TYPES.put("xz", "application/x-xz");

MIME_TYPES.put("Z", "application/x-compress");

MIME_TYPES.put("bat", "application/x-msdownload");

MIME_TYPES.put("ksh", "text/plain");

MIME_TYPES.put("sh", "application/x-sh");

MIME_TYPES.put("db", "application/octet-stream");

MIME_TYPES.put("db3", "application/octet-stream");

MIME_TYPES.put("otf", "x-font-otf");

MIME_TYPES.put("ttf", "x-font-ttf");

MIME_TYPES.put("psf", "x-font-linux-psf");

MIME_TYPES.put("cgm", "image/cgm");

MIME_TYPES.put("btif", "image/prs.btif");

MIME_TYPES.put("dwg", "image/vnd.dwg");

MIME_TYPES.put("dxf", "image/vnd.dxf");

MIME_TYPES.put("fbs", "image/vnd.fastbidsheet");

MIME_TYPES.put("fpx", "image/vnd.fpx");

MIME_TYPES.put("fst", "image/vnd.fst");

MIME_TYPES.put("mdi", "image/vnd.ms-mdi");

MIME_TYPES.put("npx", "image/vnd.net-fpx");

MIME_TYPES.put("xif", "image/vnd.xiff");

MIME_TYPES.put("pct", "image/x-pict");

MIME_TYPES.put("pic", "image/x-pict");

MIME_TYPES.put("adp", "audio/adpcm");

MIME_TYPES.put("au", "audio/basic");

MIME_TYPES.put("snd", "audio/basic");

MIME_TYPES.put("m2a", "audio/mpeg");

MIME_TYPES.put("m3a", "audio/mpeg");

MIME_TYPES.put("oga", "audio/ogg");

MIME_TYPES.put("spx", "audio/ogg");

MIME_TYPES.put("aac", "audio/x-aac");

MIME_TYPES.put("mka", "audio/x-matroska");

MIME_TYPES.put("jpgv", "video/jpeg");

MIME_TYPES.put("jpgm", "video/jpm");

MIME_TYPES.put("jpm", "video/jpm");

MIME_TYPES.put("mj2", "video/mj2");

MIME_TYPES.put("mjp2", "video/mj2");

MIME_TYPES.put("mpa", "video/mpeg");

MIME_TYPES.put("ogv", "video/ogg");

MIME_TYPES.put("flv", "video/x-flv");

MIME_TYPES.put("mkv", "video/x-matroska");

}

public static int getIconForExt(String ext) {

final Integer res = EXT_ICONS.get(ext);

return res == null ? 0 : res;

}

public static String getMimeType(File file) {

if (file.isDirectory()) {

return null;

}

String type = null;

final String extension = SimpleUtils.getExtension(file.getName());

if (extension != null && !extension.isEmpty()) {

final String extensionLowerCase = extension.toLowerCase(Locale

.getDefault());

final MimeTypeMap mime = MimeTypeMap.getSingleton();

type = mime.getMimeTypeFromExtension(extensionLowerCase);

if (type == null) {

type = MIME_TYPES.get(extensionLowerCase);

}

}

return type;

}

private static boolean mimeTypeMatch(String mime, String input) {

return Pattern.matches(mime.replace("*", ".*"), input);

}

public static boolean isPicture(File f) {

final String mime = getMimeType(f);

return mime != null && mimeTypeMatch("image/*", mime);

}

public static boolean isVideo(File f) {

final String mime = getMimeType(f);

return mime != null && mimeTypeMatch("video/*", mime);

}

}

cgm 转jpg java_获取图片,音频,视频,压缩包文件类型的工具类相关推荐

  1. CTF-MISC文件隐写总结(图片,音频,视频,压缩包等文件)

    前置知识 file 命令根据文件头,识别文件类型,如果文件头前边有数据就识别不出来了 strings 输出文件中的可打印字符 可以发现一些提示信息或者特殊编码的信息 可以配合-o参数获取所有的ASCI ...

  2. android获取图片缩略图,Android系获取图片和视频的缩略图

    获取手机里视频缩略图: public static Bitmap getVideoThumbnail(ContentResolver cr,Uri uri) { Bitmap bitmap = nul ...

  3. android 查询所有图片和视频,Android系统详解之获取图片和视频的缩略图

    从Android 2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovi ...

  4. js获取图片和视频的宽高等

    获取图片和视频的宽高 日常开发中,在提交给后端视频和图片等文件之前,需要控制文件的的宽高,大小等. 图片 // 上传文件的方法 uploadFile(e) {let that = this// 该fi ...

  5. Unity调用android相册获取图片或视频

    Unity调用android相册获取图片或视频 (此文章对有unity基础和对环境配置有基础的童嚡容易看懂) 因为项目上用到,在百度了很多大佬的文章后,陆陆续续踩了很多坑,可能是我哪里设置的不对,大部 ...

  6. 通过python建立一个web服务查看服务器上的文本、图片、视频等文件

    通过python建立一个web服务查看服务器上的文本.图片.视频等文件 文章目录: 1 在服务器端开启一个服务 2 在本地浏览器中输入服务器的ip地址 1 在服务器端开启一个服务 python -m ...

  7. python web微信应用(五) 自动下载接收的图片/语音/视频/普通文件

    文章目录 前言 一.webwx 模块介绍 二.自动下载接收的图片/语音/视频/普通文件到本地 前言 本篇文章作为系列第五篇文章,将实现自动下载接收到的图片.语音.视频.普通文件的功能: 系列其它文章请 ...

  8. Win10 电脑恢复我的电脑图片、视频等文件夹

    文章目录 Win10 电脑恢复我的电脑图片.视频等文件夹 1. 要恢复的文件夹 2. 恢复方法 3. 其他相关链接 Win10 电脑恢复我的电脑图片.视频等文件夹 1. 要恢复的文件夹 2. 恢复方法 ...

  9. Unity 分享 功能 用Unity Native Share Plugin 实现链接、图片、视频等文件的分享+ 安卓 Ios 都可以,代码图文详解

    Unity 分享 功能 用Unity Native Share Plugin 实现链接.图片.视频等文件的分享+ 安卓 Ios 都可以,代码图文详解 前言 环境 效果 一.Unity Native S ...

最新文章

  1. 第三期 OSI七层中第一层 物理层
  2. 一文带你看懂分布式软总线在家庭场景的应用
  3. win8.1和wp8.1共用代码,需要注意的一些问题
  4. OS中atomic的实现解析
  5. 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
  6. 服务器文件夹同步到手机,本机文件夹同步到云服务器
  7. 计算机网络画出发送窗口变化,全国2010年7月自考计算机网络原理试题及答案
  8. 程序员风光背后:从零到BAT数据分析师靠的是什么?
  9. 五眼网络安全机构联合发布事件响应指南
  10. autoComplete实现的输入下拉联想功能
  11. linux安装java、配置 jmeter
  12. 解决 Could not find common.jar (android.arch.core:common:1.0.0). 错误
  13. Visual Studio更换默认浏览器
  14. 移动硬盘插上电脑卡住_插入移动硬盘死机故障分析及解决方案(图文详解)
  15. python中turtle画小草_python 笔记 之带参数的装饰器
  16. GSM Hacking:如何对GSM/GPRS网络测试进行测试
  17. 7-1 厘米换算英尺英寸(基础编程题)
  18. 数据可视化什么意思?
  19. linux下ffmpeg库 ARM交叉编译
  20. 线性关系和非线性关系异或与非线性关系

热门文章

  1. efi shell的英文介绍_请问电脑开机后显示英文字母efi shell version 2.31是什么意思...
  2. Win7旗舰版扬声器打不开解决方法
  3. 计算机软考网络管理员满分,2016年计算机软考网络管理员必做试题
  4. 关于SQLyog创建函数
  5. 华为3C联通移动一键刷入官方recovery,解决root后如何刷回原版系统,刷机后无法进入系统的问题
  6. (一) OBEX介绍
  7. 零信任-深信服零信任aTrust介绍(5)
  8. 30岁了,最近碰到的那些离婚的事儿
  9. Tera CLOUD + Zotero 文献管理
  10. 关于ArcGis for javascript整合百度地图 天地图 高德地图进行搜索