如果文件被重命名,如何找到文件扩展名?是否有任何工具可用于此?
例如:我有一个名为“1.doc”的文件;我希望每个人都知道这是一个Word文档,我只是将其重命名为“1.txt”。但该文件最初是一个Word文档;如何获取原始的文件扩展名?
如果文件被重命名,如何找到文件扩展名?是否有任何工具可用于此?
例如:我有一个名为“1.doc”的文件;我希望每个人都知道这是一个Word文档,我只是将其重命名为“1.txt”。但该文件最初是一个Word文档;如何获取原始的文件扩展名?
您无法恢复先前的文件扩展名。您所能做的就是查看文件内容,并尝试猜测它的格式。
大多数(许多?)文件格式都以“魔术”值开头,旨在识别文件格式,但这种方法永远无法100%准确。
正如@AaronDigulla在评论中提到的那样,有一些库可以帮助您完成“猜测”的任务,该问题的答案包含了指向某些此类库的指针。
一旦您重命名文件,先前的名称将不会被保留。
至于从文件内容自动猜测文件格式方面,请查看Unix file
实用程序。在我的Ubuntu系统上安装的版本中,它列出了Microsoft Word作为其所知道的“魔法”签名之一。
1.txt
上使用那个链接中的代码,它会显示为text/plain
。 - Romain在重命名之前,将其保存在一个名为originalName的单独字符串中...因为当您更改字符串的名称时,分配的内存会发生变化,而且没有回退或撤消的方法。
考虑使用JavaBeans激活框架中的javax.activation.FileDataSource
。特别是使用getContentType()方法。