android获取文件getMimeType的两种方法

简介:

方法1:

import java.util.Locale;

private static String getSuffix(File file) {
            if (file == null || !file.exists() || file.isDirectory()) {
                return null;
            }
            String fileName = file.getName();
            if (fileName.equals("") || fileName.endsWith(".")) {
                return null;
            }
            int index = fileName.lastIndexOf(".");
            if (index != -1) {
                return fileName.substring(index + 1).toLowerCase(Locale.US);
            } else {
                return null;
            }
    }

    public static String getMimeType(File file){
          String suffix = getSuffix(file);
            if (suffix == null) {
                return "file/*";
            }
            String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(suffix);
            if (type != null || !type.isEmpty()) {
                return type;
            }
            return "file/*";
}

方法2:

public static String getMimeType(String filePath) {
    MediaMetadataRetriever mmr = new MediaMetadataRetriever();
    String mime = "text/plain";
    if (filePath != null) {
         try {
             mmr.setDataSource(filePath);
             mime = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE);
         } catch (IllegalStateException e) {
	    return mime;
         } catch (IllegalArgumentException e) {
	    return mime;
	} catch (RuntimeException e) {
	    return mime;
	}
    }
    return mime;
}






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5089525.html,如需转载请自行联系原作者


相关文章
|
18天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
23 1
|
4天前
|
机器学习/深度学习 Java Shell
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
22 0
|
1天前
|
Android开发
android string.xml文件中的整型和string型代替
android string.xml文件中的整型和string型代替
|
4天前
|
程序员 Android开发
Android亮度调节的几种实现方法
Android亮度调节的几种实现方法
8 0
|
4天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
10 0
|
4天前
|
Android开发
Android APP 隐藏系统软键盘的方法
Android APP 隐藏系统软键盘的方法
10 0
|
4天前
|
Android开发
android 12 U盘 /mnt/media_rw 下读取文件异常 没有权限
android 12 U盘 /mnt/media_rw 下读取文件异常 没有权限
10 0
|
4天前
|
XML Android开发 数据安全/隐私保护
android 11后文件读写访问权限申请
android 11后文件读写访问权限申请
11 0
|
4天前
|
JSON Android开发 数据格式
Android 打开系统文件管理器,并返回选中文件的路径
Android 打开系统文件管理器,并返回选中文件的路径
11 0
|
4天前
|
Android开发
Android中去掉ActionBar的几种方法
Android中去掉ActionBar的几种方法
10 0