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/ |