获取真正的文件扩展名-Java代码

时间:2010-01-19 04:13:16

标签: java

出于安全原因,我想确定真正的文件扩展名。

我该怎么做?

3 个答案:

答案 0 :(得分:13)

假设您真的想要获取文件的真实内容类型(即它的MIME类型),您应该参考此excellent answer

您可以使用以下代码获取Java中文件的真实内容类型:

File file = new File("filename.asgdsag");
InputStream is = new BufferedInputStream(new FileInputStream(file));
String mimeType = URLConnection.guessContentTypeFromStream(is);

答案 1 :(得分:1)

a number of ways你可以做到这一点,有些比其他更复杂(也更可靠)。我链接的页面讨论了其中的一些方法。

答案 2 :(得分:0)

不确定您的意思,但无论如何,它只适用于您已知的特定文件格式集

你可以排除可执行文件(你在这里谈论窗口吗?) - 这里有一些文件头信息http://support.microsoft.com/kb/65122 - 你可以扫描和阻止看起来像有一个exe头的文件 - 这是接近你的当你说'真正的文件扩展名'时,是什么意思?