java获取文件Mime Type的几种方式

本文是在看了http://blog.csdn.net/chaijunkun/article/details/7046343之后实践了一下,为自己加深印象再写一遍。

jar包是用火狐下载的,放在哪里忘了。是在写文件下载时,提示框要告诉用户下载的是什么类型的文件用到的。

首先说一下第一种,也是自认为最简单的一句话搞定,也不用导jar包,需要import javax.activation.MimetypesFileTypeMap;

String type = new MimetypesFileTypeMap().getContentType(name);//name:"aa.txt"

第二种,跟第一种差不多,不过里面的内容就少了很多,好多类型都没有,需要import java.net.FileNameMap;
import java.net.URLConnection;

FileNameMap fileNameMap = URLConnection.getFileNameMap();   
String type = fileNameMap.getContentTypeFor(name);//name:"aa.txt"

第三种需要导入jmimemagic.jar,需要import net.sf.jmimemagic.Magic;
import net.sf.jmimemagic.MagicMatch;

MagicMatch match = Magic.getMagicMatch(new File("c:/aa.txt"), false); //注意:这里输入的是文件(必须真
实存在),不是String
String type = match.getMimeType();

第四种需要导入mime-util.jar,需要import eu.medsea.mimeutil.MimeUtil; import java.util.Collection;

MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");  
File f = new File ("c:/aa.txt");  //文件必须真实存在
Collection<?> types = MimeUtil.getMimeTypes(f);  //这里返回的不是String,是Collection
System.out.println(types);

完结!



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值