HelperFileUtil打开文件

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;
	}
	
}

你可能感兴趣的:(HelperFileUtil打开文件)