有没有类似于unix命令的java库file?
即:
$ file somepicture.png
somepicture.png PNG image, 805 x 292, 8-bit/color RGB, non-interlaced
Run Code Online (Sandbox Code Playgroud)
file命令是一个很好的工具.我需要的东西可以告诉我文件是否真的是我想要的.(即图片,文件等)
我知道我可以运行命令file,但我正在寻找一个java库,而不是运行实际的unix命令.
我正在编写一些东西,允许用户在网络服务器上存储文档和图片,以便以后存储和检索.当用户将文件上传到我的服务器时,PHP会根据扩展名告诉我它是什么文件类型.但是,我担心用户可以将zip文件重命名为somezipfile.png并存储它,从而在我的服务器上保留一个zip文件.有没有合理的方法来打开上传的文件并"检查"以查看它是否真的属于所述文件类型?
我正在编写Java 6应用程序,我必须检查文件是否可读.但是,在Windows上canRead()总是返回true.所以我看到可能,唯一的解决方案可能是基于WINAPI并用JNA/JNI编写的一些本机解决方案.
但是,还有另一个问题,因为在WINAPI中很难找到一个简单的函数,它会返回有关文件访问的信息.我发现GetNamedSecurityInfo或者GetSecurityInfo我不是一个先进的WINAPI程序员,他们对我来说对JNA/JNI来说太复杂了.任何想法如何处理这个问题?