提问者:小点点

URLConnection.guessContentTypeFromName似乎不适用于csv扩展


我一直在使用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类型的其他方法,但我想知道这一点。


共1个答案

匿名用户

jvm带来了文件名及其mime类型的列表。例如,openjdk为windows和linux指定了它们。

您可以通过指定jvm属性内容来覆盖这些定义。类型。使用者指向内容类型定义的表。URLConnection#getFileNameMap()指定的属性。

最近才添加了对csv的支持https://bugs.openjdk.org/browse/JDK-8273655