如果文件已重命名,如何查找文件扩展名?

Posted

技术标签:

【中文标题】如果文件已重命名,如何查找文件扩展名?【英文标题】:How to find file extension if the file has been renamed? 【发布时间】:2012-05-09 12:43:02 【问题描述】:

有没有可用的工具?

示例:我有一个文件“1.doc”;我希望每个人都知道这是我刚刚重命名为“1.txt”的 Word 文档。但该文件原本是Word文档;如何获取原始文件扩展名?

【问题讨论】:

【参考方案1】:

您无法恢复以前的文件扩展名。您所能做的就是查看文件的内容,然后尝试猜测它是什么。

大多数(很多?)文件格式都以用于识别文件格式的“神奇”值开头,但这种方法永远不可能 100% 准确。

正如@AaronDigulla 在评论中提到的那样,有一些库可以帮助您完成“猜测”任务,that question 的答案包含指向一些此类库的指针。

【讨论】:

查看这个问题如何按内容检查文件:***.com/questions/51438/…【参考方案2】:

重命名文件后,不会保留以前的名称。

至于根据内容自动猜测文件的格式,请查看 Unix file 实用程序。安装在我的 Ubuntu 机器上的版本将 Microsoft Word 列为它所知道的“神奇”签名之一。

【讨论】:

【参考方案3】:

您要做的是找出它的 MIME 类型是什么。可以使用本教程http://www.roseindia.net/java/java-get-example/get-mime-type.shtml

【讨论】:

我相信如果您在1.txt 上使用该链接中的代码,它会显示text/plain【参考方案4】:

在重命名之前将其保存在一个名为 originalName 的单独字符串中...因为当您更改字符串的名称时,分配的内存会更改,并且无法返回或撤消

【讨论】:

【参考方案5】:

考虑使用 JavaBeans 激活框架中的 javax.activation.FileDataSource。特别是使用getContentType() 方法。

【讨论】:

此方法不用于获取文件扩展名。 这正是我想要的。非常感谢。

以上是关于如果文件已重命名,如何查找文件扩展名?的主要内容,如果未能解决你的问题,请参考以下文章

视频转换后如何命名输出文件与输入文件相同但扩展名不同? [复制]

提交后修复Mercurial存储库中的重命名

如何使用 NetBeans 重命名文件扩展名?

如何批量重命名损坏的文件扩展名?

用Python查找某文件夹的文件名称,并对文件名进行更改的库名称是啥?

Kotlin扩展函数 ③ ( 定义扩展文件 | 重命名扩展函数 | Kotlin 标准库扩展函数 )