gpt4 book ai didi

java - 根据文件的词干名称识别文件的扩展名

转载 作者:行者123 更新时间:2023-11-29 05:08:19 26 4
gpt4 key购买 nike

我有一个简单的问题,我一直在努力解决。我在一个目录中有几个文件,我正在读取它们并根据它们的类型(扩展名)传递处理它们。但是,作为输入,我收到了不带扩展名的文件路径,因此我必须自己识别类型。

示例(文件):

files/file1.txt
files/file1.txt
files/pic1.jpg
----------------
String path = "files/file1";
String ext = FilenameUtils.getExtension(path); // this returns null

当扩展名不包含在路径中时,有没有办法识别文件类型?

最佳答案

您最好的选择是通过实现 FileTypeDetector s 的实例“自己动手” .

当你有了这个,你就可以使用 Files.probeContentType() 返回一个将文件内容描述为 MIME 类型的字符串。


JDK 确实提供了默认实现,但它基本上依赖于文件扩展名;如果你有一张名为 foo.txt 的 PNG 图片,默认实现将返回 text/plain该文件实际上是一个 image/png .

这当然是错误的。


最后注意:如果你真正拥有的只是文件名的一部分,那么使用 Files.newDirectoryStream()并为其提供适当的 DirectoryStream.Filter<Path> .还不确定为什么你只有它的部分

关于java - 根据文件的词干名称识别文件的扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com