Я разрабатываю мобильное приложение Blackberry 10 с использованием моментальной IDE (native sdk).
В моем коде я хочу добавить функцию, которая должна проверить, поврежден ли файл или нет.
Как мне следует продолжить?
Два метода, о которых я могу думать:
1) Если вы пишете файл, убедитесь, что у вас есть определенный набор байтов, который вы выписываете в конце. При чтении файла, перейдите в конец файла и проверьте, присутствуют ли эти байты. Если нет, файл не закончил писать и может считаться поврежденным. В качестве альтернативы этому нужно записать размер байтов в начало файла и проверить, равен ли остальной размер файла этому номеру при его чтении.
2) Если вы проверяете файл, который не изменяется, сохраните хэш содержимого файла и во время выполнения, сгенерируйте хеш и сравните его с тем, который вы сохранили. Если они отличаются, файл был изменен, и вы можете считать его поврежденным.
Что вы имеете в виду от коррумпированных?
Если вы хотите узнать, какой файл вы ожидаете или нет, вы можете рассчитать хэш файла, например SHA-256
или любой другой алгоритм хэширования, сохранить значения хэша, а затем в вашем приложении просто вычислить значения хэша файлов, сравните с тем, что вы ожидаете, и если они будут одинаковыми, скорее всего, нет коррупции.
Вы можете посмотреть здесь.