java - 无法确定文件的 MIME 类型

标签 java macos mime

我是 Java 新手,正在尝试学习如何确定文件的 MIME 类型。我使用的是 Mac 操作系统。下面是我想出的代码。但是,当我运行代码时,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);
        }
    }
}

最佳答案

文件的文档显示 FileTypeDetector 是由 ServiceLoader 加载的。一点点谷歌搜索会导致: 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(也许?)也可以解决该问题。

关于java - 无法确定文件的 MIME 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352794/

相关文章:

java - 在基于 Struts 的 Web 应用程序中的 JSP 页面中使用 JSTL

java - 使用和导入依赖项之间有什么区别?

java将字母转换为数字然后将所有值放入数组

java - 泛型和关键字final

Python 导入 matplotlib.pyplot 不起作用

macos - 如何在 OS X 中实现手势识别器?

java - 导入 .dat 文件 Java

javascript - 如何设置本地文件的MIME类型?

ruby-on-rails - 带有回形针 Docx content_type 的 Rails 将作为应用程序/zip 回来

java - 使用 JavaMail 在电子邮件中嵌入图像