Проверка файла магического числа - PullRequest
0 голосов
/ 08 мая 2011

Я пытаюсь прочитать магические числа / байты, чтобы проверить формат файла.Будет ли чтение побайтовых файлов работать на компьютере с Linux одинаково?

Редактировать: Ниже показано, как получить волшебные байты из файла класса с помощью int.Я пытаюсь сделать то же самое для переменного числа байтов.

http://www.rgagnon.com/javadetails/java-0544.html

1 Ответ

1 голос
/ 08 мая 2011

Я не уверен, что понимаю, что вы пытаетесь сделать, но, похоже, то, что вы пытаетесь сделать, не то же самое, что делает код, на который вы ссылаетесь.

Формат класса java указывается для начала с магического числа, поэтому код можно использовать только для проверки, может ли файл быть классом java или нет. Вы не можете использовать ту же логику и применять ее к произвольным форматам файлов.

Редактировать: .. или вы хотите проверять только файлы wav?

Edit2: все в Java находится в порядке с прямым порядком байтов, это означает, что вы можете использовать DataInputStream.readInt для чтения первых четырех байтов из файла, а затем сравнить возвращенное значение int с 0x52494646 (RIFF как целое число с прямым порядком байтов) *

...