出于安全原因,我想确定真正的文件扩展名。
我该怎么做?
答案 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头的文件 - 这是接近你的当你说'真正的文件扩展名'时,是什么意思?