java - 有没有检测文件扩展名的 native 方法?

标签 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。

play 是否有读取文件扩展名的 native 方式?还有哪些其他解决方案?

谢谢。

最佳答案

使用包java.nio.file.spi中的FileTypeDetector

请参阅此链接了解更多详细信息:

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

关于java - 有没有检测文件扩展名的 native 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858107/

相关文章:

java - 在 Java 中处理大量数据的有效方法

java - 在 BufferedImage 上获取和设置 RGB 值

php - 无法将 upload_tmp_dir 设置为非 PHP 驱动器上的目录?

java - java中如何将上传的多个pdf文件存储到特定位置?

search - 在 Play 的 CRUD 模块中自定义搜索功能

java - 了解幸存世代指标

java - 迭代列表的列表

c# - WCF 内存急剧增加

c# - 从上传的文件中读取文本 - C# 和 javascript

javascript - 如何从 OnChange 调用 Play 框架 Action