doniyorbekm
@doniyorbekm
Yii-шник

Как распаковать gz файл в Delphi?

Нужно написать программу для извлечения файлов из gz-архива.
Что имеется: gz файл размером около 150 МБ. Внутри у него один файл с расширением .log (логи от роутера).
Что необходимо сделать:
1. Взять архив gz и распаковать его содержимое во временную папку.
2. Достать из .log файла строчки и добавить их в TMemo.
  • Вопрос задан
  • 408 просмотров
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
1. ShellExecute (Например, 7-zip)
2.Lines.LoadFromFile
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@pfemidi
Тут могло бы быть краткое описание меня
Зачем во временную папку? Надо просто использовать поток TZDecompressionStream из юнита ZLib (System.ZLib в новых версиях Delphi, просто ZLib в старых). Вот тут всё подробно объяснено самим Embarcadero.
Ответ написан
Комментировать
Изобретаем zcat и grep в Делфях?

Распаковывать лог 150 МБ прямо в TMemo не рекомендую: забьет всю доступную ОЗУ и все повиснет нафиг.

Лучше так:
zcat big_log.gz | grep "то что ищем"
"Просматривать" результат лучше постранично, при помощи pipe.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы