javax.activation.MimetypesFileTypeMap()的替代方法.getContentType(filename);

时间:2009-05-22 18:02:37

标签: java jdk1.6 jdk1.5

我有一些代码:

import javax.activation.MimetypesFileTypeMap;
...
..
.
String filename = "foo.xls"; // Where this can be any file name .doc, .pdf or whatever

String headerContentType = new MimetypesFileTypeMap().getContentType(filename);

似乎javax.activation.MimetypesFileTypeMap类在rt.jar里面,它与JRE系统库(jdk1.6.0_10)一起但不在jdk1.5.0中

我想避免使用1.6库。任何人都知道一个简单快捷的替代方案吗?

3 个答案:

答案 0 :(得分:5)

这来自activation框架。它作为Java 6中的标准包含在内,但也可单独下载(用于Java 1.4及更高版本)

答案 1 :(得分:2)

特定类实际上是java bean激活框架的一部分;

JAF Download

据我所知,它不应该依赖于1.6。所以只需下载jar,并确保你的类路径上有mimetypes.default。

答案 2 :(得分:1)

我已经成功使用了这个项目SubLuna,它似乎比JAF更完整。它使用这个mime类型集合:Shared MIME Info Specification,维护得很好(当然你必须替换库附带的文件)。