Как проверить повреждение файла?

0

Я разрабатываю мобильное приложение Blackberry 10 с использованием моментальной IDE (native sdk).

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

Как мне следует продолжить?

  • 0
    Какой файл? какая коррупция? почему это будет повреждено?
  • 0
    Зависит от файла. Предположим, вы загрузили текстовый файл, а затем прервали его на полпути. Теоретически это «поврежденный» текстовый файл, но как бы вы узнали, просто взглянув на файл?
Показать ещё 8 комментариев
Теги:
qt
blackberry-10
blackberry

2 ответа

2

Два метода, о которых я могу думать:

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

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

0

Что вы имеете в виду от коррумпированных?

Если вы хотите узнать, какой файл вы ожидаете или нет, вы можете рассчитать хэш файла, например SHA-256 или любой другой алгоритм хэширования, сохранить значения хэша, а затем в вашем приложении просто вычислить значения хэша файлов, сравните с тем, что вы ожидаете, и если они будут одинаковыми, скорее всего, нет коррупции.

Вы можете посмотреть здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню