当前位置: 首页 > 面试题库 >

在Java中获取文件的Mime类型

屠锦
2023-03-14
问题内容

我只是想知道大多数人如何从Java文件中获取mime类型?到目前为止,我已经尝试了两个工具:JMimeMagic&Mime-Util

第一个给我内存异常,第二个没有正确关闭其流。我只是想知道其他人是否拥有他们使用和正常工作的方法/库?


问题答案:

不幸,

mimeType = file.toURL().openConnection().getContentType();

之所以无法使用,是因为URL的这种使用将文件锁定了,例如,它是不可删除的。

但是,你有:

mimeType= URLConnection.guessContentTypeFromName(file.getName());

还有以下内容,其优点是不仅可以使用文件扩展名,而且还可以浏览内容

InputStream is = new BufferedInputStream(new FileInputStream(file));
mimeType = URLConnection.guessContentTypeFromStream(is);
 //...close stream

但是,正如上面的评论所建议的那样,内置的mime类型表非常有限,例如不包括MSWord和PDF。因此,如果要一概而论,你将需要使用Mime-Util(这是一个很棒的库,同时使用文件扩展名和内容)来超越内置库。



 类似资料:
  • 问题内容: 我曾经使用过“ 文件信息”,但从未成功。我想现在将cURL与PHP一起使用,并获取托管在另一个域上的文件的标头,然后提取并确定类型是否为MP3。(我认为MP3的mime类型是) 简而言之,我知道,但是我不知道如何应用它:) 谢谢 问题答案: PHP curl_getinfo() 卷曲 输出

  • 我正在尝试使用共享意图共享一个文件。如果我将“text/平原”设置为mime类型,它会像文本而不是文本文件一样读取内容,那么共享菜单中给出的选项是Whatsapp、Line等。 有人知道如何配置共享意图,使共享选项仅是能够发送<代码>的程序吗。txt文件(Gmail、Dropbox等,但不是Whatsapp等)?谢谢

  • 问题内容: 我需要Java中的一个源包中包含的所有类文件的Class []。 我找不到一次就能做到的标准方法。如果有人可以编写函数来获取该列表,则将非常有帮助。 问题答案: 我可以使用普通文件I / O和搜索机制解决此问题。您可以查看此处发布的答案。

  • 问题内容: 我一直在尝试找出如何从Java 6中的字节数组中获取 MIME类型 ,但是不幸的是还没有能够获取MIME类型。 有人可以帮助我摆脱困境吗? 问题答案: 您可以使用Java 6中提供的类。此类专门用于获取 MIME类型 。 使用它来获取MIME类型,如下所示: 对于从文件中获取,您可以使用以下代码:

  • 问题内容: 假设您要将一堆文件保存在某个地方,例如在BLOB中。假设您想通过网页分发这些文件,并让客户端自动打开正确的应用程序/查看器。 假设:浏览器通过HTTP响应中的mime-type(content-type?)标头找出要使用的应用程序/查看器。 基于此假设,除了文件的字节外,您还希望保存MIME类型。 您将如何找到文件的MIME类型?我目前在Mac上,但是在Windows上也应该可以使用。

  • 问题内容: 我正在开发一个简单的php上传脚本,用户只能上传ZIP和RAR文件。 我应该使用哪些MIME类型检查?(请提供完整清单) 谢谢.. 问题答案: 来自freedompeace,Kiyarash和Sam Vloeberghs的答案: 我也会检查文件名。这是检查文件是RAR还是ZIP文件的方法。我通过创建一个快速的命令行应用程序对其进行了测试。 请注意,它仍然不能100%确定,但是可能已经足