如何知道没有扩展名的文件类型

时间:2012-06-06 22:32:24

标签: java java-ee file-format file-conversion

在尝试使用基于servlet的应用程序来读取文件并对其进行操作(图像类型转换)时,这是一个让我想到的问题:

  1. 是否可以检查文件内容并知道文件类型?
  2. 是否有标准规定每个文件必须在其内容中提供某种类型的标记,以便应用程序不必依赖文件扩展名约束?
  3. 考虑应用场景:

    我正在创建一个能够将不同文件格式转换为一组输出格式的应用程序。假设用户上传PDF,我的应用程序可以建议可能的转换格式是Microsoft Word或TIFF或JPEG等。

    由于我的应用程序将逐渐支持不同的文件格式(在一段时间内),我希望我的应用程序检查输入文件,而不是让用户指定格式。并建议用户使用可能的输出格式。

    我知道这是一个开放式的,广泛的问题。如果需要修改,请告诉我。

    谢谢, Ayusman

1 个答案:

答案 0 :(得分:3)

你可以使用magic number找出没有扩展名的类型。 此外,文件命令的计算方式实际上是通过3步检查:

  1. 检查文件系统属性以识别空文件,文件夹等...
  2. 上述神奇数字
  3. 在文本文件中,检查其中的语言
  4. 这是一个可以帮助您使用Magic Numbers的库:jmimemagic