Java获取文件Content-Type(Mime-Type)

来源:互联网 发布:奶瓶linux系统 编辑:程序博客网 时间:2024/04/30 02:54

刚好工作中要用到,所以总结一下。推荐使用第一种和第三种,实在不行,也可以去把http://tool.oschina.net/commons上面特定类型对应的mime-type复制下来,放入map什么的去对比。

1、使用JDK1.7自带方法

import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;public class Test{    public static void main(String[] args){        Path path = Paths.get("E:\\static\\count.mp3");          String contentType = null;          try {              contentType = Files.probeContentType(path);          } catch (IOException e) {              e.printStackTrace();          }        System.out.println("File content type is : " + contentType);       }}

2、javax.activation.MimetypesFileTypeMap

import java.io.File;import javax.activation.MimetypesFileTypeMap;public class Test{    public static void main(String[] args){        String contentType = new MimetypesFileTypeMap().getContentType(new File("E:\\static\\count.mp3"));        System.out.println(contentType);    }}  

3、JMimeMagic

Magic parser = new Magic() ; MagicMatch match = parser.getMagicMatch(new File("E:\\static\\count.mp3"));    System.out.println(match.getMimeType()) ; 

4、java.net.*

Tips:貌似mp3音频文件获取为null,这种暂时不推荐

import java.net.FileNameMap;import java.net.URLConnection;public class Test {    public static void main(String args[]) throws Exception {        FileNameMap fileNameMap = URLConnection.getFileNameMap();        String contentType = fileNameMap.getContentTypeFor("E:\\static\\bg.jpg");        System.out.println(contentType);        // output : image/jpeg    }}
1 0
原创粉丝点击