OberonCore
https://forum.oberoncore.ru/

Как читать повреждённый файл?
https://forum.oberoncore.ru/viewtopic.php?f=23&t=682
Страница 1 из 1

Автор:  Сергей Губанов [ Вторник, 09 Октябрь, 2007 14:19 ]
Заголовок сообщения:  Как читать повреждённый файл?

У меня есть DVD с повреждённым файлом фильма. С помощью Nero Show Time фильм смотреть можно, просто в том месте где он повреждён надо на одну минутку передвинуть вперёд ползунок проигрывания. Скопировать файл с помощью "Проводника" с DVD на жесткий диск не удаётся -- дивидюк же не читается! Попробовал в Блэкбоксе написать простенькую програмку копирования с занулением повреждённых байтов. В модуле Files у Reader-а в описании метода ReadByte сказано, что если чтение удалось, то позиция сдвигается на единицу. Вот я и обрадовался. Думал, когда чтение не удастся, значит я в копируемый файл напишу нолик, а позицию считывателя сдвину вручную rd.SetPosition(pos+1); А вот и не тут-то было! При попытке прочитать повреждённое место процедура rd.ReadByte оказывается (предварительно зависнув на пару минут) тупо выпадает в System TRAP по HALT(101). Это просто безобразие, ведь повреждённые файлы не такая уж и редкость, програма должна уметь отрабатывать ошибку чтения штатным образом, а не вызывать HALT.

Автор:  Евгений Темиргалеев [ Вторник, 09 Октябрь, 2007 17:36 ]
Заголовок сообщения:  Re: Как читать повреждённый файл?

Даже если бы не было трэпа, результата дождаться бы не удалось. Чтение же идет блочное - по секторам. Если на одно чтение винда ковыряет диск две минуты, то пока вы такой сектор побайтно пройдете - сколько ждать? А порченый то не один сектор. Быстро же проскочить такой порченый сектор файловыми средствами не получится, тут надо работать напрямую с диском и секторами. Есть спец. программки для этого, например BadCopy.

Автор:  Илья Ермаков [ Вторник, 09 Октябрь, 2007 18:29 ]
Заголовок сообщения:  Re: Как читать повреждённый файл?

В BHV-Петербург вышла книга Всеволода Несвижского "Программирование устройств SCSI и IDE". Для таких задач может оказаться полезной. Однако лучше использовать существующий спец. софт...

Автор:  batyrmastyr [ Среда, 10 Октябрь, 2007 08:25 ]
Заголовок сообщения:  Re: Как читать повреждённый файл?

Программы для записи дисков используют spti или aspi. Подозреваю, что проги для восстановления пользуются тем же. к BadCopy добавлю NonStopCopy (развитие прекратилось кажется в 2003 году т.к. автор не нашел как её еще улучшить). Исходников авторы таких прог вроде как не выкладывают :(

Автор:  Сергей Губанов [ Четверг, 11 Октябрь, 2007 10:15 ]
Заголовок сообщения:  Re: Как читать повреждённый файл?

А я с тем файлом справился с помощью Nero -- скопировал образ DVD с включённой галочкой "Игнорировать ошибки чтения"...

Автор:  Info21 [ Пятница, 12 Октябрь, 2007 10:30 ]
Заголовок сообщения:  Re: Как читать повреждённый файл?

Сергей Губанов писал(а):
... скопировал образ DVD с включённой галочкой "Игнорировать ошибки чтения"...

Вот и еще миленькая задачка: читатель файлов, игнорирующий ошибки.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/