我一直在使用URLConnection。guessContentTypeFromName(String fname)来检测我需要在标头中使用什么mime类型来返回不同的文档。
在我用测试程序测试之前,它工作得很好代码>。我可以通过测试使它工作。jpg或测试。pdf,但不带测试。csv。
String fname = "test.csv";
String mimeType = URLConnection.guessContentTypeFromName(fname);
System.out.println(mimeType);
我没有问题获得pdf和jpg扩展的良好mimetype,但csv扩展接收null。
我似乎在谷歌上找不到任何理由来解释它为什么不起作用。这是正常行为还是我在文档中遗漏了什么?
顺便说一句,我知道从文件名中获取mime类型的其他方法,但我想知道这一点。
jvm带来了文件名及其mime类型的列表。例如,openjdk为windows和linux指定了它们。
您可以通过指定jvm属性内容来覆盖这些定义。类型。使用者指向内容类型定义的表。URLConnection#getFileNameMap()指定的属性。
最近才添加了对csv的支持https://bugs.openjdk.org/browse/JDK-8273655