有没有检测文件扩展名的本地方法?

时间:2012-08-08 05:23:29

标签: java file-upload playframework

目前,我正在做以下事情,这不是我想要的。我只是希望能够检测文件扩展名,并根据它,将其复制到服务器,或拒绝它。

    MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
    FileInputStream is1 = new FileInputStream(file);
    String mimeType = mimeTypesMap.getContentType(file);

    InputStream is2 = new BufferedInputStream(new FileInputStream(file));
    String content = URLConnection.guessContentTypeFromStream(is2);

    System.out.println(mimeType);
    System.out.println(content);

我得到了mimetype,但是再次,那不是我想要的。 URL.guessContentFromStream()始终返回null。

播放是否有本地方式来读取文件扩展名?还有哪些其他解决方案?

感谢。

2 个答案:

答案 0 :(得分:2)

使用包FileTypeDetector

中的java.nio.file.spi

有关详细信息,请参阅此链接:

http://openjdk.java.net/projects/nio/javadoc/java/nio/file/spi/FileTypeDetector.html

<强> /////被修改//////

尝试FileNameExtensionFilter

请参阅此链接:

http://docs.oracle.com/javase/6/docs/api/javax/swing/filechooser/FileNameExtensionFilter.html

答案 1 :(得分:1)

检测文件扩展名非常简单,这是我通常做的事情:

String filename = "a long.filename.ext";
String extension = filename.substring(filename.lastIndexOf('.') + 1);
相关问题