我使用3种不同类型的文件(XML,CSV和JSON),我不知道我在哪一个工作。我尝试了一些代码,比如说,
File file = new File("src/main/java/data" + "/molecules.xml");
final MimetypesFileTypeMap fileTypeMap = new MimetypesFileTypeMap();
System.out.println(fileTypeMap.getContentType(file.getName()));
并返回application/octet-stream
,同样适用于.csv
和.json
文件。如何获得正确的文件类型?
答案 0 :(得分:3)
只有MimetypesFileTypeMap
可以使用以下资源之一匹配文件类型时,才会显示正确的MIME类型:
- 以编程方式将条目添加到MimetypesFileTypeMap实例。
- 用户主目录中的文件
.mime.types
。- 文件
<java.home>/lib/mime.types
。- 名为
的文件或资源META-INF/mime.types
。- 名为
醇>META-INF/mimetypes.default
的文件或资源(通常仅在activation.jar中找到 文件)。
最快的解决方案是通过addMimeTypes
使用选项#1:
final MimetypesFileTypeMap fileTypeMap = new MimetypesFileTypeMap();
fileTypeMap.addMimeTypes("text/csv csv CSV");
fileTypeMap.addMimeTypes("application/json json JSON");
fileTypeMap.addMimeTypes("application/xml xml XML");