`
Luob.
  • 浏览: 1573415 次
  • 来自: 上海
社区版块
存档分类
最新评论

java 获取文件的类型

    博客分类:
  • Java
 
阅读更多
之前使用 javax.activation.MimetypesFileTypeMap; 判断发现 如果文件是 office 文件 就判断不出来了 郁闷.


----------------使用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()) ;  

	}

}


看看下面的文章

看看这篇文章
3
3
分享到:
评论
8 楼 Luob. 2012-09-28  
rensanning 写道
MimetypesFileTypeMap类是可以获取其他文件的minetype的,只是需要你自己在做一个mime.types文件。默认他只能识别activation.jar\META-INF\mimetypes.default中定义的文件。

MimetypesFileTypeMap是根据文件扩展名来判断的。

这篇文章说的很详细,可以参考参考:http://www.rgagnon.com/javadetails/java-0487.html
这个有中文翻译:http://chinacheng.iteye.com/blog/857485


这个 我试过 是通过 文件 后缀名 来判断的 而且 jar zip rar chm office 都判断不出来
7 楼 rensanning 2012-09-28  
MimetypesFileTypeMap类是可以获取其他文件的minetype的,只是需要你自己在做一个mime.types文件。默认他只能识别activation.jar\META-INF\mimetypes.default中定义的文件。

MimetypesFileTypeMap是根据文件扩展名来判断的。

这篇文章说的很详细,可以参考参考:http://www.rgagnon.com/javadetails/java-0487.html
这个有中文翻译:http://chinacheng.iteye.com/blog/857485
6 楼 hhqoffice 2012-09-28  
谁写的叼毛东西,那么多错误,还发布出来,晕。
5 楼 yanthe 2012-09-27  
dragon_yb 写道
楼主有测试过 jar文件么? jar解析出来说是 zip 类型了。 rar 直接报错哦。 有待优化。

我这也是报错。。。
4 楼 梁温陵 2012-09-27  
yzsunlight 写道
楼主 office 2007的word以docx结尾的文件,判断出现异常

jmimemagic这个库是2006的东东,肯定不认识2007的东东啦
3 楼 zuwenjiang 2012-09-27  
测试一下脚本
2 楼 yzsunlight 2012-09-26  
楼主 office 2007的word以docx结尾的文件,判断出现异常
1 楼 dragon_yb 2012-09-26  
楼主有测试过 jar文件么? jar解析出来说是 zip 类型了。 rar 直接报错哦。 有待优化。

相关推荐

Global site tag (gtag.js) - Google Analytics