HelperFileUtil打开文件

来源:互联网 发布:经济学博士申请 知乎 编辑:程序博客网 时间:2024/05/17 22:41
import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Locale;import android.content.Intent;import android.net.Uri;public class HelperFileUtil {/** * MIME类型与文件后缀名的匹配表   */public static 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"},      {".xml",    "text/plain"},      {".z",        "application/x-compress"},      {".zip",    "application/zip"},      {"",        "*/*"}      };  /**  * 根据文件后缀名获得对应的MIME类型。  * @param file  */  public static String getMIMEType(File file)  {      String type="*/*";      String fName=file.getName();    int dotIndex = fName.lastIndexOf(".");      if(dotIndex < 0){          return type;      }      //文件的后缀名       String end=fName.substring(dotIndex,fName.length()).toLowerCase(Locale.getDefault());      if(null == end || "".equals(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  */  public static Intent openFile(File file){      Intent intent = new Intent();      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        intent.setAction(Intent.ACTION_VIEW);        String type = getMIMEType(file);     intent.setDataAndType(Uri.fromFile(file), type);        return intent;}  /** * 列出指定目录下的所有文件,不包括子目录 * @param parentPath * 指定根目录 * @return * 文件列表 */public static List<File> getHelpFiles(String parentPath){File file = new File(parentPath);if(!file.exists()){file.mkdir();}if (!file.isDirectory()) {return null;}File[] files = file.listFiles();if(null == files || files.length < 1){return null;}ArrayList<File> fileList = new ArrayList<File>();for (File f : files) {if(f.isDirectory()){continue;}fileList.add(f);}return fileList.size() > 0 ? fileList : null;}}

0 0
原创粉丝点击