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

Java获取文件Content-Type(Mime-Type)的更多相关文章

  1. C#获取文件的Content-Type(MIME Type)的方法

    使用静态类MimeMapping(需要.NET Framework 4.5及以后的支持) string fileName = "D:\myfile.txt"; var conten ...

  2. java获取文件的路径问题

    java获取文件的路径问题 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法. 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方 ...

  3. java 获取文件后缀名(文件类型)

      java 获取文件后缀名(文件类型) CreateTime--2018年5月23日09:16:31 Author:Marydon // 获取文件名的后缀名(文件类型) String oldFile ...

  4. Java获取文件Content-Type的四种方法

    HTTP Content-Type在线工具 有时候我们需要获取本地文件的Content-Type,已知 Jdk 自带了三种方式来获取文件类型. 另外还有第三方包 Magic 也提供了API.Magic ...

  5. JAVA获取文件夹下所有的文件

    package com.test; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; im ...

  6. java获取文件流

      CreateTime--2017年9月1日14:49:21 Author:Marydon servlet获取文件流的两种方式 方式一:使用绝对路径(推荐使用) import java.io.Inp ...

  7. java 获取文件列表,并按照文件名称排序

    需求:获取全部的日志文件,并按照文件名称倒序排列,把最新的文件放在最前1.获取全部的日志文件:(方法:public List<String> ergodic(File file,List& ...

  8. JAVA 获取文件的MD5值大小以及常见的工具类

    /** * 获取文件的MD5值大小 * * @param file * 文件对象 * @return */ public static String getMD5(File file) { FileI ...

  9. Java获取文件的后缀名。

    /** * 详细步骤 */ private static void test1() { //获取文件的原始名称 String originalFilename = "tim.g (1).jp ...

随机推荐

  1. org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.abc.beans.Minister

    使用mybatis进行一对多嵌套查询时出错,错误原因: <select id="findMinisterById" resultMap="com.abc.beans ...

  2. git入门基本命令

    第一个命令 git init (repo_dir) 初始化git版本库,如果省略repo_dir的话,那么就把当前目录作为git库进行初始化. 第二个命令 git status 查看版本库状态,随时可 ...

  3. Hbase时间同步

    如果Hbase的时间没有同步,启动主节点会起来,子节点的regionServer就不会起来. 错误日志如下: aused by: org.apache.hadoop.hbase.ipc.RemoteW ...

  4. 净心诀---python3生成器

    生成器的作用----减少程序运行的内存开销 生成器特点: 1.一个一个的取值,而不是一次性把所有数据创建出来,迭代器中的数据不取不创建2.只能按照顺序取,不能跳过也不能回头3.一个迭代器中的数据只能从 ...

  5. poj 1905 图形推算+二分

    参考博客: 题意: 一根两端固定在两面墙上的杆 受热弯曲后变弯曲 求前后两个状态的杆的中点位置的距离 分析:见博客 代码: #include<stdio.h> #include<io ...

  6. LCA的RMQ求法

    参考博客 仔细想一想:最近的公共祖先,其实,搜索时回朔,连通这两点,那深度最低肯定是最近的公共祖先啊. 那这样就可以变成RMQ问题了. #include<stdio.h> #include ...

  7. SpringMVC和spring常见面试题总结

    1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,C ...

  8. 2019-10-15-从以前的项目格式迁移到-VS2017-新项目格式

    title author date CreateTime categories 从以前的项目格式迁移到 VS2017 新项目格式 lindexi 2019-10-15 14:9:27 +0800 20 ...

  9. 内网端口转发[SSH]

    一.应用场景 获取到目标边界机器linux服务器一台,想继而向内网其他机器渗透,获取到一台webshell发现处于内网当中且不通外网.可以通过linux ssh隧道对目标内网机器进行访问. 二.利用手 ...

  10. grunt中调用webpack

    项目中一些很老的技术需要运用webpack管理,这时候必须使用grunt+webpack 配合使用 .做个笔记,不限多说直接上代码 grunt结合webpack 下面是 Gruntfile.js co ...