2015-10-09 133 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

好吧,凱文,我的壞,有點新在這裏 –