获取真正的文件扩展名-Java代码
出于安全原因,我想确定真正的文件扩展名。
我怎样才能做到这一点?
假设你真的想要获得文件的真实内容类型(即它的MIME类型),你应该参考这个优秀的答案 。
您可以使用以下代码获取Java中文件的真实内容类型:
File file = new File("filename.asgdsag"); InputStream is = new BufferedInputStream(new FileInputStream(file)); String mimeType = URLConnection.guessContentTypeFromStream(is);
您可以通过多种方式实现此目标,其中一些方法比其他方法更复杂(也更可靠)。 我链接的页面讨论了其中的一些方法。
不确定你究竟是什么意思,但是你这样做它只适用于你已知的特定文件格式集
你可以排除可执行文件(你在这里说Windows吗?) – 这里有一些文件头信息http://support.microsoft.com/kb/65122 – 你可以扫描和阻止看起来像他们有一个exe头的文件 – 这是当你说’真正的文件扩展名’时,接近你的意思?
- 如何从文本文件中获取特定行到行并在android中显示数组列表
- 如何为在xml中扩展View的类设置路径? Android的工作室
- 用Java读取二进制文件
- 当序列化策略更改时,GWT客户端不会收到IncompatibleRemoteServiceException
- 如何在Android Unit-Test中模拟Bundle方法?
- 原始和引用变量的内存分配
- java.io.IOException:准备失败:status = 0x1
- 线程“main”中的exceptionjava.lang.NoSuchMethodError:main
- Android Studio“运行应用”对话框不会出现在一个项目中,而是出现在另一个项目中