Альтернатива javax.activation.MimetypesFileTypeMap (). GetContentType (filename); - PullRequest
3 голосов
/ 22 мая 2009

У меня есть код:

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 ]

5 голосов
/ 22 мая 2009

Это происходит из активации фреймворка. Это стандартно включено в Java 6, но также доступно для отдельной загрузки (для использования с Java 1.4 и выше)

2 голосов
/ 22 мая 2009

Определенный класс на самом деле является частью инфраструктуры активации Java-бина;

JAF Скачать

Насколько я знаю, он не должен зависеть от 1.6. Так что просто скачайте jar и убедитесь, что у вас есть mimetypes.default на вашем пути к классам.

1 голос
/ 23 мая 2009

Я успешно использовал этот проект SubLuna , он кажется более полным, чем JAF. Он использует эту коллекцию типов MIME: Общая спецификация MIME Info , которая в хорошем состоянии (конечно, вам придется заменить файл, который поставляется с библиотекой).

...