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

Я разрабатываю мобильное приложение BlackBerry 10, используя IDE-компонент моментальных действий (нативный SDK).

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

Как мне поступить?

0

Решение

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

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

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

2

Другие решения

Что вы имеете в виду под коррупцией?

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

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

0