java库从文件内容查找mime类型
我正在寻找一个java库,它通过查看文件内容(字节数组)来告诉你mime类型。我发现这个项目使用 jmimemagic,它不再支持较新的文件类型(例如 MS word docx 格式),因为它现在处于非活动状态(从 2006 年开始)。
I am searching for a java library which tells you the mime type by looking at the file content(byte array). I found this project using jmimemagic and it no longer supports newer file types (eg. MS word docx format) as it is inactive now (from 2006).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许对那些也需要最常用的办公格式(并且不使用 Apache Tika)的人有用:
Maybe useful for someone, who needs the most used office formats as well (and does not use Apache Tika):
使用 Apache tika 进行内容检测。请找到下面的链接。 http://tika.apache.org/0.8/detection.html。我们有很多 jar 依赖项,您可以在使用 maven 构建 tika 时找到它们
Use Apache tika for content detection. Please find the link below. http://tika.apache.org/0.8/detection.html. We have so many jar dependencies which you can find when you build tika using maven
我使用javax.activation.MimetypesFileTypeMap。它以一个小集合开始:
$JRE_HOME/lib/content-types.properties
,但您可以添加自己的。按照MimetypesFileTypeMap
的 javadoc 中所示的格式创建一个文件mime.types
(我从网上的一个大列表开始,对其进行了修改,并添加了我发现缺少的类型) 。现在,您可以通过打开mime.types
文件并将其内容添加到地图中来将其添加到代码中。然而,更简单的解决方案是将您的mime.types
文件添加到 jar 的META-INF
中。java.activation
将自动选择它。I use
javax.activation.MimetypesFileTypeMap
. It starts with a small set:$JRE_HOME/lib/content-types.properties
, but you can add you own. Create a filemime.types
in the format shown inMimetypesFileTypeMap
's javadoc (I started with a large list from the net, massaged it, and added types I found missing). Now you can add that in your code by opening yourmime.types
file and adding its contents to your map. However the easier solution is to add yourmime.types
file to theMETA-INF
of your jar.java.activation
will pick that up automagically.