Определите, является ли документ DOC или DOCX в приложении Java, не зная его расширения - PullRequest
6 голосов
/ 11 июня 2010

В системе управления контентом существует ограничение, которое требует хранения всех текстовых документов с определенным расширением (отличным от DOC или DOCX).Однако при выводе документа пользователю необходимо знать, является ли он файлом DOC или DOCX, чтобы предоставить правильный тип MIME.

Итак, есть ли способ программно определить, является ли документ DOC илиDOCX по содержанию?

Ответы [ 2 ]

10 голосов
/ 11 июня 2010

Здесь - это ссылка на ForensicsWiki, в которой подробно описаны различные типы файлов.Он описывает заголовки как файлов DOC, так и файлов DOCX, поэтому вы должны иметь возможность проанализировать файлы и определить, какие они есть.

Если посмотреть по ссылке, файлы .doc являются файлами OLE Compound, файл должен иметьследующий двоичный заголовок:

d0 cf 11 e0 a1 b1 1a e1

В отличие от этого, файлы .docx будут иметь двоичную подпись:

50 4b
9 голосов
/ 11 июня 2010

DOCX-файлы имеют формат ZIP, в котором первые два байта представляют собой буквы PK (после создателя ZIP, Фила Каца).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...