无法确定文件的 MIME 类型
unable to determine the MIME type of a file
我是 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);
}
}
}
文件的文档显示 FileTypeDetector 由 ServiceLoader 加载。一点点谷歌搜索会导致:
http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work-on-mac-osx.html
这表示这是 Oracle Java7 jvm 为 Mac OS 提供的默认 FileTypeDetector 的问题。
link 还可以提供您自己的 FileTypeDetector,不过升级到 Java 8(也许?)也可以解决问题。
我是 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);
}
}
}
文件的文档显示 FileTypeDetector 由 ServiceLoader 加载。一点点谷歌搜索会导致: http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work-on-mac-osx.html 这表示这是 Oracle Java7 jvm 为 Mac OS 提供的默认 FileTypeDetector 的问题。 link 还可以提供您自己的 FileTypeDetector,不过升级到 Java 8(也许?)也可以解决问题。