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


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

    刚好工作中要用到,所以总结一下。推荐使用第一种和第三种,实在不行,也可以去把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
        }
    }


    原文链接:http://blog.csdn.net/saytime/article/details/51497529
  • 相关阅读:
    PowerDesigner如何设置字段为自增长
    Tab标签
    过滤数据集DataTable方法
    时间复杂度计算方法
    Oracle字符函数
    ASP.NET 应用程序生命周期概述
    在同一个DataSet中添加多个DataTable
    谈SQL SERVER数据库中的索引
    Abstract 与 Vitrual 用法
    活动图与流程图的区别
  • 原文地址:https://www.cnblogs.com/zxwBj/p/8598088.html
Copyright © 2020-2023  润新知