之前使用 javax.activation.MimetypesFileTypeMap; 判断发现 如果文件是 office 文件 就判断不出来了 郁闷.
----------------使用JMimeMagic ---------------------
通过检测文件后缀名去查找文件类型显然不是一个健壮的方法。JMimeMagic库提供了更健壮的检测方法,他是一个通过检查magic headers来判断文件或者流的mime 类型的java工具包
需要 commons-loggin.jar
jmimemagic.jar
看看下面的文章
看看这篇文章
----------------使用JMimeMagic ---------------------
通过检测文件后缀名去查找文件类型显然不是一个健壮的方法。JMimeMagic库提供了更健壮的检测方法,他是一个通过检查magic headers来判断文件或者流的mime 类型的java工具包
需要 commons-loggin.jar
jmimemagic.jar
import java.io.File;
import net.sf.jmimemagic.Magic;
import net.sf.jmimemagic.MagicException;
import net.sf.jmimemagic.MagicMatch;
import net.sf.jmimemagic.MagicMatchNotFoundException;
import net.sf.jmimemagic.MagicParseException;
public class FileType {
/**
* @param args
* @throws MagicException
* @throws MagicMatchNotFoundException
* @throws MagicParseException
*/
public static void main(String[] args) throws MagicParseException, MagicMatchNotFoundException, MagicException {
File file=new File("D:\\Tomcat 5.5\\webapps\\bjproduct\\opt/siteimg/attachfile/office/contract/2012/9/dc142d5f-aff3-46ac-adba-4788d7d06247.doc");
Magic parser = new Magic();
MagicMatch match = parser.getMagicMatch(file, false);
System.out.println(match.getMimeType()) ;
}
}
看看下面的文章
看看这篇文章
本文介绍了一种使用JMimeMagic库检测文件MIME类型的方法。JMimeMagic通过检查文件的magic headers来准确判断文件类型,适用于解决通过文件后缀名判断文件类型不准确的问题。文中提供了一个示例代码,展示了如何利用该库检测一个具体文件。
909





