[Java]根據檔案取得Mime Type的各種方法
阿新 • • 發佈:2019-01-04
示例程式碼(不推薦:這種方式也是通過副檔名判斷mime type的、而且速度很慢)import java.net.FileNameMap; import java.net.URLConnection; public class FileUtils { public static String getMimeType(String fileUrl) throws java.io.IOException { FileNameMap fileNameMap = URLConnection.getFileNameMap(); String type = fileNameMap.getContentTypeFor(fileUrl); return type; } public static void main(String args[]) throws Exception { System.out.println(FileUtils.getMimeType("file://c:/temp/test.TXT")); // output : text/plain } }
import java.net.*; public class FileUtils{ public static String getMimeType(String fileUrl) throws java.io.IOException, MalformedURLException { String type = null; URL u = new URL(fileUrl); URLConnection uc = null; uc = u.openConnection(); type = uc.getContentType(); return type; } public static void main(String args[]) throws Exception { System.out.println(FileUtils.getMimeType("file://c:/temp/test.TXT")); // output : text/plain } }
4、javax.activation.MimetypesFileTypeMap 需要引入activation.jar這個jar包 , 他可以從下面這個網站獲得http://java.sun.com/products/javabeans/glasgow/jaf.html.
這個MimetypesFileMap類會映射出一個file的Mime Type,這些Mime Type型別是在activation.jar包裡面的資原始檔中定義的