在unix中是否有一个等同于file命令的java库

时间:2010-04-28 11:38:05

标签: java unix file content-type

是否有任何类似于unix的命令file的java库?

即:

$ file somepicture.png
somepicture.png PNG image, 805 x 292, 8-bit/color RGB, non-interlaced

file命令是一个很好的工具。我需要的东西可以告诉我文件是否真的是我想要的。 (即图片,文件等)

我知道我可以运行命令file,但我正在寻找一个java库,而不是运行实际的unix命令。

7 个答案:

答案 0 :(得分:16)

快速谷歌搜索(对于公认的非显而易见的)"java magic file detection"会显示一篇相当不错的文章"Get the Mime Type from a File",建议您使用以下其中一项:

答案 1 :(得分:7)

从Java 1.7开始,您可以使用Files.probeContentType()来探测文件。开箱即用它使用平台上的机制来猜测内容类型,或者你可以根据需要插入自己的探测器。

答案 2 :(得分:3)

您可以查看jmimemagictutorial)。我们已经使用它一段时间来验证上传的图像。到目前为止没问题。

答案 3 :(得分:2)

我不确定这正是您所寻找的,但以下链接可以帮助您:

http://www.rgagnon.com/javadetails/java-0487.html

答案 4 :(得分:1)

看看mime-utils。 它适用于内容和/或扩展。

答案 5 :(得分:1)

答案 6 :(得分:0)

正在寻找相同的东西并发现了这一点:https://github.com/j256/simplemagic-它似乎是'file'的副本,它甚至使用了内置魔术文件的文件副本。