如何在没有扩展名的情况下确定文件类型

3
尝试开发一个基于servlet的应用程序来读取文件并进行操作(图像类型转换),我有一个问题:
1. 是否可能检查文件内容并知道文件类型? 2. 是否存在标准规定每个文件都必须在其内容中提供某种标记,以便应用程序不必依赖文件扩展名限制?
考虑一个应用场景: 我正在创建一个应用程序,可以将不同的文件格式转换为一组输出格式。比如说用户上传PDF,我的应用程序可以建议可能的转换格式是Microsoft Word、TIFF或JPEG等。
随着时间的推移,我的应用程序将逐渐支持不同的文件格式,我希望我的应用程序检查输入文件而不是让用户指定格式,并向用户建议可能的输出格式。
我了解这是一个开放性的广泛问题。如果需要修改,请告诉我。
谢谢, Ayusman
1个回答

4

当没有扩展名时,您可以使用魔数来确定文件类型。

文件命令确定文件类型的方式实际上是通过三个步骤的检查:

  1. 检查文件系统属性以识别空文件、文件夹等...
  2. 以上述提到的魔数
  3. 在文本文件中,检查其中的语言

下面是一个可以帮助您处理魔数的库:jmimemagic


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接