File tree 1 file changed +12
-6
lines changed
1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change 526
526
//
527
527
Процедура ЗаписатьФайл (Поток , Знач ОписаниеФайла , Знач КаталогРаспаковки )
528
528
529
+ ПутьКФайлу = ОбъединитьПути(КаталогРаспаковки, ОписаниеФайла.Имя);
530
+ ОбеспечитьКаталог(ПутьКФайлу, Истина );
531
+
529
532
Чтение = Новый ЧтениеДанных(Поток);
530
533
Чтение.Пропустить(ОписаниеФайла.Смещение);
531
- БуферДанные = Чтение.ПрочитатьВБуферДвоичныхДанных(ОписаниеФайла.Размер);
532
- Чтение.Закрыть();
534
+ ЗаписьДанных = Новый ЗаписьДанных(ПутьКФайлу);
533
535
534
- ПутьКФайлу = ОбъединитьПути(КаталогРаспаковки, ОписаниеФайла.Имя);
536
+ ПорцияДанных = 10 * 1024 * 1024 ; // 10 Мб
537
+ Остаток = ОписаниеФайла.Размер;
535
538
536
- ОбеспечитьКаталог(ПутьКФайлу, Истина );
539
+ Пока Остаток > 0 Цикл
540
+ БуферДанные = Чтение.ПрочитатьВБуферДвоичныхДанных(Мин (Остаток, ПорцияДанных));
541
+ ЗаписьДанных.ЗаписатьБуферДвоичныхДанных(БуферДанные);
542
+ Остаток = Остаток - ПорцияДанных;
543
+ КонецЦикла ;
537
544
538
- ЗаписьДанных = Новый ЗаписьДанных(ПутьКФайлу);
539
- ЗаписьДанных.ЗаписатьБуферДвоичныхДанных(БуферДанные);
545
+ Чтение.Закрыть();
540
546
ЗаписьДанных.Закрыть();
541
547
542
548
Лог.Информация(СтрШаблон ("Записан файл %1" , ПутьКФайлу));
You can’t perform that action at this time.
0 commit comments