Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Советы по построению программ чтения и записи файлов




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

Независимо от предпринимаемых мер, программа чтения должна выдать предупреждение — сообщение об ошибке или диагностическое сообщение, информирующее пользователя о том, что произошло нечто неожиданное. Сообщения типа Unknown file format (Неизвестный формат файла), Unknown compression type (Неизвестный тип сжатия), Unsupported resolution (Неподдерживаемое разрешение). Corrupted data (Искаженные данные) помогают пользователю хотя бы приблизительно установить, в чем причина сбоя.

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

• Всегда проверяйте операции ввода на предмет наличия ошибок чтения файлового потока и признаков конца файла.

• Проверяйте данные полей заголовка на соответствие установленному диапазону значений. Не используйте данные, которые вызывают сомнение.

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

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

• Повредите с помощью двоичного редактора несколько графических файлов и проверьте, как ваша программа их прочтет.

Построение программы записи файла:

- Всегда проверяйте операции вывода на предмет наличия ошибок записи файлового потока.

- Сохраняйте размеры файла и структур данных в заголовке файла, если это допускается.

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

- Применяйте для проверки сгенерированных файлов другие программы визуализации.

Большинство файловых форматов не содержит встроенных механизмов обнаружения ошибок. Предполагается, что программа чтения выявит неверные и искаженные данные на основании информации, записанной в файле и примет соответствующие меры. В некоторых форматах информация о размере графических данных, иногда и о длине всего файла, хранится в заголовке. Отдельные форматы содержат структуры данных фиксированного размера, которые изменяются только при переходе на новую версию формата. Эти особенности форматов не предназначены специально для обнаружения и коррекции ошибок в структуре файла или его данных, но тем не менее могут использоваться и для этих целей.

Если спецификацией формата контроль ошибок не предусмотрен, то файлы можно сохранить с помощью программы-архиватора, выполняющей аналогичную функцию. Многие архиваторы, например pkzip и zoo, производят вычисление циклического избыточного кода для каждого сохраняемого ими файла. Когда файл разархивируется, значение кода пересчитывается и сравнивается с записанным ранее. Если эти значения совпадают, файл не искажен. Архивировать графические файлы особенно целесообразно в случае пересылки их по сети передачи данных, например по Internet.

Еще один тип внешнего механизма обнаружения ошибок — цифровая подпись (сигнатура) — представляет собой метод выявления изменений в блоке информации.


Поделиться:

Дата добавления: 2015-08-05; просмотров: 55; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты