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