在Java应用程序中确定文档是DOC还是DOCX而不知道其扩展名

内容管理系统中存在一个约束,该约束要求存储具有特定扩展名的所有单词文档(不同于DOC或DOCX).但是,在向用户输出文档时,我们需要知道它是DOC还是DOCX文件才能提供正确的MIME类型.

那么,有没有办法通过其内容以编程方式找出文档是DOC还是DOCX?

解决方法

Here是ForensicsWiki的链接,详细介绍了许多不同的文件类型.它描述了DOC和DOCX文件标题,因此您应该能够解析文件并确定它们的类型.

查看链接,.doc文件是OLE复合文件,该文件应具有以下二进制标头:

d0 cf 11 e0 a1 b1 1a e1

相反,.docx文件将具有二进制签名:

50 4b

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...