如果文件已重命名,如何查找文件扩展名?有没有可用的工具?
示例:我有一个文件“1.doc”;我希望每个人都知道这是我刚刚重命名为“1.txt”的 Word 文档。但该文件原本是Word文档;如何获得原始文件扩展名?
如果文件已重命名,如何查找文件扩展名?有没有可用的工具?
示例:我有一个文件“1.doc”;我希望每个人都知道这是我刚刚重命名为“1.txt”的 Word 文档。但该文件原本是Word文档;如何获得原始文件扩展名?
重命名文件后,不会保留以前的名称。
至于从内容中自动猜测文件的格式,请查看 Unixfile
实用程序。安装在我的 Ubuntu 机器上的版本将 Microsoft Word 列为它所知道的“神奇”签名之一。
您无法取回以前的文件扩展名。您所能做的就是查看文件的内容,并尝试猜测它是什么。
大多数(很多?)文件格式都以用于识别文件格式的“神奇”值开头,但这种方法永远不可能 100% 准确。
正如@AaronDigulla 在评论中提到的那样,那里有一些库可以帮助您完成“猜测”的任务,并且该问题的答案包含指向一些此类库的指针。
考虑使用javax.activation.FileDataSource
JavaBeans 激活框架。特别是使用getContentType()方法。
你要做的是找出它的 MIME 类型是什么。您可以使用本教程http://www.roseindia.net/java/java-get-example/get-mime-type.shtml
在重命名之前将其保存在一个名为 originalName 的单独字符串中......因为当您更改字符串的名称时,分配的内存会更改并且没有返回或撤消