2015-10-09 99 views
2

实际的文件扩展名,我知道我可以这样做我怎样才能在Java中

String ext = FilenameUtils.getExtension("/path/to/file/foo.txt"); 

得到这个但是,如果有人试图通过只是改变了扩展类型上传foo.exe的文件是什么foo.doc。有没有什么办法,通过它我可以得到实际的扩展类型不读文件

+2

MIME类型,幻数头等等 – Mena

回答

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

的内容从这个帖子:Get real file extension -Java code


而且使用java7,你应该看看这个:

public static String probeContentType(Path path) 
          throws IOException 

http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29

+1

谢谢亚历山大,让我试试这个。我试图在stackoverflow上找到它,但没有发现 – Vipul

+3

不要从副本发布代码,而是将帖子标记为重复项并链接到重复项目。 – KevinDTimm

+0

好吧,凯文,我的坏,有点新在这里 –