当前位置: 首页 > 知识库问答 >
问题:

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

商高谊
2023-03-14

我一直在使用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个答案

缑永年
2023-03-14

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

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

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

 类似资料:
  • 问题内容: 我需要在我的老师不让我们使用IDE的前提下对此进行开头。我们使用TextPad。我要单击此标签,然后将其从“ H”更改为“ T”。目前,当我单击标签时,没有执行任何操作。我忘记了什么? 问题答案: 您的工具,但您还需要告知将事件发送给自己。在构造函数的最后,您需要说 如果您还记得可以将 任何 类放入,并且必须将您的侦听器连接到,则这更有意义。本身是侦听器这一事实并不能免除您的这种责任。

  • 我正在使用二分模块搜索并将sha256哈希插入列表。 我有大约8,000,000项要搜索和添加,它们存储在sqlite数据库中,我想把它们读入列表,这样我就可以更快地搜索它们。 我遇到的问题是,使用二分法将项目插入列表以找到正确的插入点非常慢。完成所有8000000个项目大约需要700秒。 按升序在sqlite数据库中创建索引只需要大约90秒,然后依次将索引插入列表大约需要60秒。 问题是当我这样

  • 我在试硒。我已经使用Selenium IDE构建了一个快速脚本。它登录到一个页面,打开一个“搜索”窗口,进行搜索,然后打开其中一个结果。 当我在Selenium IDE中运行测试时,它运行良好。当我导出到Java JUnit 4测试用例时,它运行良好。但当我导出到Python2单元测试时,xpath搜索似乎有很多问题。。。 例子: 该页面有一个名为class='keyword'的输入元素。当我使用

  • 我正在遵循斯普林特启动的15分钟指南(gs-关系-数据-访问) 因此,该指南使用H2数据库。现在我通过在运行时提供JAR来改变这一点,以使用DB2。 改良build.gradle 现在应用程序失败了,抱怨没有找到JDBCTemplateBean定义或类似的东西。 所以现在我进一步修改了build.gradle注释掉sping-jdbc,并使用sping-boo-starter-jdbc 现在,应用

  • 我实际上试图解决一个问题,Maven抱怨文件中缺少参数的vaule。因此,我决定通过将选项放在Jenkins中来调试Maven。但它抱怨我输入了一个不正确的Java参数: Jenkins认为我支持Java。后来我发现Jenkins生成的命令是这样的: /usr/java/jdk1.7.0_17/bin/java-x-cp/var/lib/jenkins/plugins/maven-plugin/w

  • 问题内容: 嗨,我的应用程序访问Postgres数据库,并且我有很多预定义的查询(Rank,Parition,complex join等)对Postgres触发。现在,我要使用小的测试数据对这些查询行为进行单元测试。所以我从H2 / Junit开始。我发现大多数Postgres查询,例如Rank,Partition,更新时的复杂情况等。因此,我想到使用所有H2 PosgreSQL兼容模式,因为我认