Как файлы проверяются при открытии? - PullRequest
1 голос
/ 28 октября 2009

Предположим, пользователь выбирает файл в диалоговом окне, а затем приложение открывает файл для чтения и т. Д. Пользователи могут открывать «неправильные» файлы - например, они могут выбрать двоичный файл, даже если файл Вы должны выбрать текстовый файл.

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

Какой стандартный способ кодирования для подобных ситуаций?

Ответы [ 2 ]

1 голос
/ 28 октября 2009
  1. Поместить в файл уникальный идентификатор (обычно первая строка или какой-либо тег)
  2. Ограничить расширение файла
  3. Проверьте файл, все ли в порядке

Используйте 1., если возможно, или используйте 2. и 3.

1 голос
/ 28 октября 2009

Многие операционные системы помогают вам в этом, предоставляя API файловой системы, которые хотя бы в некоторой степени учитывают тип файла (в Cocoa для Mac OS X, например, NSOpenPanel есть метод setAllowedFileTypes:). Кроме того, вы должны обязательно определить формат файла таким образом, чтобы его было легко определить, когда ваша программа открывает файл. Вероятно, достаточно нескольких известных байтов в начале вашего файла, чтобы защитить вас от большинства проблем со случайными файлами.

...