无法确定文件的MIME类型

时间:2016-02-12 00:35:06

标签: java macos mime

我是Java的新手,正在尝试学习如何确定文件的MIME类型。我正在使用Mac OS。以下是我提出的代码。但是,当我运行代码时,IDE输出错误:

'/Users/justin/Desktop/Codes Netbean/JavaRandom/xanadu.txt' has an unknown filetype.

为什么会这样?该文件确实存在。我做错了吗?

public class DeterminingMIMEType {

    public static void main(String[] args) {

        Path filename = Paths.get("/Users/justin/Desktop/Codes Netbean/JavaRandom/xanadu.txt");

        try {
            String type = Files.probeContentType(filename);
            if (type == null) {
                System.err.format("'%s' has an" + " unknown filetype.%n", filename);
            } else if (!type.equals("text/plain")) {
                System.err.format("'%s' is not" + " a plain text file.%n", filename);
            }
        } catch (IOException x) {
            System.err.println(x);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

Files文档显示ServiceLoader加载了FileTypeDetector。一点点谷歌搜索导致: http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work-on-mac-osx.html 这表示这是Oracle Java7 jvm for Mac OS提供的默认FileTypeDetector的问题。 该链接还提供了一种提供自己的FileTypeDetector的方法,虽然升级到Java 8(可能?)也可以解决问题。