Java获取文件Content-Type(Mime-Type)
刚好工作中要用到,所以总结一下。推荐使用第一种和第三种,实在不行,也可以去把上面特定类型对应的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 } }原文链接: