2010-09-07 44 views
3

目標 我的目標是找到一個文本文件或庫,使我能夠在給定MIME類型輸入時映射並返回一個友好的人性化格式。Java庫或文本文件,將MIME類型映射到友好的人性化文件類型

例如,給出Word的MIME類型(如下所示),我想要一個類似於「Microsoft Office Word Document」的結果。

application/vnd.openxmlformats-officedocument.wordprocessingml.document 

我知道我可以編譯我自己的列表,並使用像一個Map(Java),但那就不是完整等

簡單OPTION 我知道我可以檢查,並返回子默鍵入並保留最後一個組件,但這不是非常複雜的,因爲在結果上方的Word mime類型將是非常通用的「文檔」。我可以擴大和採取更多的組件,但結果仍然相當醜陋。

KEY/VALUE FILE 我試圖找到的另一個選項是一個帶有鍵/值對的文本文件,其中鍵是完整的MIME類型,值是友好的人性化文本。

text/plain=Plain Text File 
application/octet-stream=Unknown binary file 

這似乎是一個不錯的選擇,但我一直沒有找到一個有很多條目的權威文本文件。如果只有媒體源(我更喜歡稱其爲主MIME類型)「text/plain」中的「文本」存在,那麼也會很好,所以諸如「text/unknown abc」之類的未知文本MIME類型會返回「未知文本文件/格式」。

+0

已被標記,更多標籤可以幫助您獲得更多的答案;;) – 2010-09-13 14:46:22

回答

1
+0

dottoro和pdx-edu鏈接相當不錯,但幾乎不全面..任何機會你有更完整的鏈接?我不感興趣列表,只給予MIME類型=文件擴展名... – 2011-03-11 05:13:11

2

阿帕奇提卡支持MimeTypes。如果您不知道MIME類型,它也支持Content Detection。無論如何,它看起來像你需要做的:

String t = "text/plain"; 
org.apache.tika.mime.MimeTypes.getMimeType(t).getDescription(); 

聲明:我沒有實際嘗試它。另外,我不知道它是否支持您需要的所有MIME類型。

+1

感謝您發現。在tika-core.jar裏面有一個xml文件tika-mimetypes.xml,它裏面定義了很多mime類型和描述。它看起來應該工作... thanx再次! – 2010-09-15 01:36:26

+0

xml中的大多數條目都被忽略,因爲某些平臺原因,tika從標籤中設置名爲「_comment」而不是「description」等的描述。去提交問題/修補程序。 – 2010-09-15 02:34:58

+0

這似乎是從版本0 。8(https://issues.apache.org/jira/browse/TIKA-515) – 2015-07-01 18:52:08