替代javax.activation.MimetypesFileTypeMap()的getContentType(文件名)。

StackOverflow https://stackoverflow.com/questions/899167

  •  23-08-2019
  •  | 
  •  

我有一些代码:

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类是在其内部带有JRE系统库(jdk1.6.0_10),但不是在JDK1.5.0

rt.jar

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

有帮助吗?

解决方案

此来自激活框架。这被包括在Java 6中的标准,但也可作为单独的下载(使用与Java 1.4及以上)

其他提示

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

JAF下载

它不应该依赖于1.6据我所知。所以,简单地下载JAR,并确保您有可用的mimetypes.default的在classpath。

我已经成功使用该项目的 SubLuna ,似乎比JAF更加完整。它使用该mime类型集合:共享MIME信息规范其远维持(当然,你将不得不更换自带的库文件)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top