2010-06-15 2 views
1

В Delphi есть много вопросов по zipping, так или иначе это не дубликат.Использование блока ZLib для сжатия файлов с использованием ZipForge

Я использую ZipForge для возможности zip/unzip в своем приложении.

В настоящее время я использую 2 особенности ZipForge:

1) почтовый и распакуйте()

2) защитить паролем архивы

Теперь я удаление пароля из всех архивов, так что я! нужно только разархивировать и распаковывать файлы. Я застегиваю их только для минимизации полосы пропускания при загрузке/загрузке файлов с сервера. Поэтому моя идея состоит в том, чтобы обрабатывать все файлы один раз для их распаковки (с паролем) и без них перекладывать их.

У меня нет ничего против ZipForge, так или иначе это дополнительный компонент, каждый раз, когда я обновляюсь до самой новой версии Delphi, мне нужно ждать новой поддержки IDE и, кроме того, чем больше компонентов, тем больше проблем при установке (я не знаю, t упоминать стоимость, так как она очень низкая, и замена компонента с какой-то другой вещью стоит времени, поэтому это не проблема стоимости).

Так как то, что я делаю, очень просто, я хотел бы заменить ZipForge двумя простыми функциями, используя модуль ZLib. Я нашел (и протестировал) функции here on Torry's.

Что вы думаете об использовании блока Zlib? Вы видите какую-либо потенциальную проблему, которую я бы не имел с ZipForge? Можете ли вы прокомментировать скорость?

ответ

7

Ну, ZLib вне коробки не ZIP, и если вам нужно создать ZIP-файлы, которые необходимо распаковать сторонним программным обеспечением, вам придется писать дополнительный код на самом деле ZIP-файлы. Если вы используете свой собственный код для выполнения сжатия и декомпрессии, вы можете пойти с ZLib. Но все же вы будете изобретать колесо, создавая собственное соглашение о передаче имен файлов и т. Д. И вам все равно нужно использовать стороннюю библиотеку.

+0

Хорошо, после того, как вы сказали мне это, я понял, что я не могу открыть файлы, которые сжимаю zlib, используя Windows zip engine или 7-zip. Поэтому я также должен отправить «аварийный инструмент» для восстановления zipped-файлов ». Вы знаете, какое расширение файла shuold я даю файлам, зашифрованным zlib, чтобы их можно было разобрать с помощью 7-zip? – LaBracca

+2

Нет, я боюсь. не создает «файлы», а просто сжимает потоки данных, вы собираете эти потоки в определенные форматы, которые впоследствии могут быть открыты сторонними приложениями. Насколько мне известно, формат GZIP представляет собой поток заголовка + ZLib, поэтому вы можете проверить его спецификацию. –

Смежные вопросы