之前使用 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()) ;
}
}
看看下面的文章
看看这篇文章