将 mime 类型映射到友好的人性化文件类型的 Java 库或文本文件

标签 java text types mime-types

目标 我的目标是找到一个文本文件或库,使我能够在给定 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/

相关文章:

java - 如何使用EL + JSTL将任意对象转换为String? (调用 toString())

mongodb - 为什么我在Mongodb3.4文本搜索中无法进行排序操作

text - 为什么纯文本技术文章经常将术语括在反引号和单引号中?

objective-c - objective-c 中的未知类型名称

java - JTable 排序双错

java - 如何使 JFrame 成为一种颜色?

java - 从 Java Web 服务客户端获取原始 XML 响应

python-3.x - 如何在文本文件上编写控制台输出

postgresql - Cast 产生 'Returned type character varying does not match expected type character varying(8)'

c# - C#中String和string有什么区别?