如果文件已重命名,如何查找文件扩展名?
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() 方法。
【讨论】:
此方法不用于获取文件扩展名。 这正是我想要的。非常感谢。以上是关于如果文件已重命名,如何查找文件扩展名?的主要内容,如果未能解决你的问题,请参考以下文章
视频转换后如何命名输出文件与输入文件相同但扩展名不同? [复制]