0

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

    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。

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

谢谢。

4

2 回答 2

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

于 2012-08-08T05:28:04.370 回答
1

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

String filename = "a long.filename.ext";
String extension = filename.substring(filename.lastIndexOf('.') + 1);
于 2012-08-08T13:17:31.910 回答