目标 我的目标是找到一个文本文件或库,使我能够在给定 MIME 类型输入时进行映射,并返回一种很好的人性化格式。
例如,给定 Word 的 mime 类型(如下所示),我想要一个类似于“Microsoft Office Word 文档”的结果。
application/vnd.openxmlformats-officedocument.wordprocessingml.document
我意识到我可以编译我自己的列表并使用像 Map (Java) 这样的东西,但是这样就不够全面了等等。
简单的选项 我知道我可以检查并返回子 mime 类型并保留最后一个组件,但这不是很复杂,因为上面的 Word mime 类型结果将是一个非常通用的“文档”。我可以扩展并采用更多组件,但结果仍然很难看。
键/值文件 我试图找到的另一个选项是包含键/值对的文本文件,其中键是完整的 MIME 类型,值是友好的人性化文本。
text/plain=Plain Text File
application/octet-stream=Unknown binary file
这似乎是一个不错的选择,但我一直无法找到包含大量条目的权威文本文件。如果只有媒体的来源(我更喜欢称它为主要 mime 类型)“text/plain”中的“text”存在,那么未知的文本 mime 类型如“text/unknown a.b.c”也会很好返回“未知文本文件/格式”。
最佳答案
Apache Tika 支持 MimeTypes .它还支持 Content Detection顺便说一下,如果您不知道 MIME 类型。无论如何,看起来你需要做:
String t = "text/plain";
org.apache.tika.mime.MimeTypes.getMimeType(t).getDescription();
免责声明:我实际上并没有尝试过。另外,我不知道它是否支持您需要的所有 mime 类型。
关于将 mime 类型映射到友好的人性化文件类型的 Java 库或文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655564/