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

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

在尝试提出基于 servlet 的应用程序来读取文件并操作它们(图像类型转换)时,我想到了一个问题:

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

  • 考虑一个应用场景:

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

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

    我知道这是一个开放式的、广泛的问题。请让我知道它是否需要修改。

    谢谢,
    阿尤斯曼

    最佳答案

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

  • 检查文件系统属性以识别空文件、文件夹等...
  • 所说的魔数(Magic Number)
  • 在文本文件中,检查其中的语言

  • 这是一个可以帮助您使用魔数(Magic Number)的库:jmimemagic

    关于java - 如何知道没有扩展名的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923258/

    相关文章:

    php - 配置文件的最佳文件格式是什么

    java - 如何获取对象的类并将其用作泛型类的参数?

    java - 简单的java web服务器但没有输出

    web-services - 将 Web 服务公开为无状态 session bean 的任何线程安全优势?

    java - tuckey urlrewrite 不适用于 url 重写中的查询变量

    Java文件保存销售和利润数据的实践

    PHPExcel 文件格式或扩展名无效

    java - 如何让 JLabel 文字显示 1 秒?

    java - 类实例中的方法是否在内存中占有一席之地?

    windows - Wildfly 10 上的 WebSocket 无法在 Windows 10 上运行