Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 7z.dll stream / 9 сообщений из 9, страница 1 из 1
26.08.2019, 13:30
    #39853716
деятель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
есть ли способ распаковывать большой архив поблочно (целиком не влезает в память, размер больше 100 Гб)?
...
Рейтинг: 0 / 0
26.08.2019, 14:23
    #39853735
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
наверное, как-то можно - 7z ведь как-то распаковывает огромные файлы, не засасывая их целиком в память
...
Рейтинг: 0 / 0
26.08.2019, 15:01
    #39853754
Aniskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
деятельесть ли способ распаковывать большой архив поблочно (целиком не влезает в память, размер больше 100 Гб)?
Если стоит задача распаковать файл на диск, то зачем вообще предварительно распаковывать файл в память? 7z.dll оперирует потоками, просто в IArchiveExtractCallback.GetStream возвращайте конечный файловый поток, в который будет выполнятся распаковка.
...
Рейтинг: 0 / 0
26.08.2019, 15:08
    #39853758
деятель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
Aniskin, спсибо, мне нужно файл обработать а не просто распаковать
...
Рейтинг: 0 / 0
26.08.2019, 15:11
    #39853760
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
деятельAniskin, спсибо, мне нужно файл обработать а не просто распаковать

что значит - обработать ? ты же его распаковываешь !
...
Рейтинг: 0 / 0
26.08.2019, 15:13
    #39853762
Aniskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
деятельAniskin, спсибо, мне нужно файл обработать а не просто распаковать
Ну так можно сделать такую реализацию потока, которая при заполнении блока нужного размера обрабатывает его, а затем сохраняет результат обработки.
...
Рейтинг: 0 / 0
26.08.2019, 15:18
    #39853765
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
AniskinЕсли стоит задача распаковать файл на диск, то зачем вообще предварительно распаковывать файл в память? 7z.dll оперирует потоками, просто в IArchiveExtractCallback.GetStream возвращайте конечный файловый поток, в который будет выполнятся распаковка.Например так - в разы быстрей, не говоря уже о остутствии требований к размерам диска под временные файлы.
...
Рейтинг: 0 / 0
26.08.2019, 16:34
    #39853791
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
деятельмне нужно файл обработать а не просто распаковать

Ну так обрабатывай его на лету по мере распаковки. Поток-то там откуда взялся?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.08.2019, 14:30
    #39854208
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
7z.dll stream
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 7z.dll stream / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]