Опции для заголовка в необработанном байтовом файле - PullRequest
0 голосов
/ 12 мая 2010

У меня есть большой файл необработанных данных (до 1 ГБ), который содержит необработанные образцы из регистратора данных USB.

Мне нужно хранить дополнительную информацию, относящуюся к файлу (частота дискретизации, описание, точка запуска, позиция последнего поиска и т. Д.), И я хотел добавить это как своего рода заголовок.

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

Я также хочу избежать двух отдельных файлов, так как они могут оказаться разделенными при копировании или резервном копировании. Я вспомнил, как кто-то говорил мне, что более новые *. * X документы Microsoft Office на самом деле представляют собой несколько файлов в формате zip. Есть ли простой способ добиться этого? Могу ли я сохранить время быстрого поиска в необработанном файле?

Обновление

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

1 Ответ

1 голос
/ 12 мая 2010

Когда вы говорите, что хотите сделать заголовок удобным для чтения, это предлагает открыть файл в текстовом редакторе. Вы действительно хотите сделать это, учитывая размер файла и (я полагаю), оставшаяся часть файла - нечитаемые человеком двоичные данные? Если это так, просто запишите данные заголовка текста в начало двоичного файла - это будет видно при открытии файла, но, конечно, оставшаяся часть файла будет выглядеть как мусор.

Вы можете создать несжатый ZIP-архив, который может позволить вам искать непосредственно к двоичным данным. См. Это для информации о создании ZIP-архива: http://weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx

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