Введение
Aspose.ZIP для .NET API позволяет создавать и управлять архивами в ваших приложениях без необходимости использования каких-либо других сторонних приложений. Его детальная реализация позволяет легко управлять ZIP-архивами.
В этой статье описываются только манипуляции с форматом zip. Aspose.Zip поддерживает множество форматов архивов, они перечислены здесь.
Основные понятия API
API Aspose.ZIP концептуализирует функциональность каждого элемента в архиве как Entry. Записи можно добавлять, обновлять, а также удалять из архива. API упрощает работу с архивом и его записями. В этом разделе дается представление о различных классах и методах, предоставляемых API, и их использовании.
Работа с архивами
Создание архива
Архив можно создать с помощью класса Archive, предоставляемого API. С помощью этого класса можно создать базовый архив, как показано в следующем примере кода.
1вар архив = новый архив ();
Такой архив подготовлен к сжатию.
Создание архива с пользовательским сжатием
Архивы можно создавать с дополнительными настройками, определяющими собственные методы сжатия.
1 var archive = новый архив (новый ArchiveEntrySettings (новый CompressionSettings (CompressionMethod.Store), новый AesEcryptionSettings («p@s $», EncryptionMethod.AES256)));
Сохранение архивов
Архивы могут быть сохранены как в файловой системе на диске, так и в потоках.
1archive.Save(поток, ArchiveSaveOptions saveOptions = null)
2
3archive.Save(filePath, ArchiveSaveOptions saveOptions = null)
Извлечение архива
Архивы можно извлечь, передав исходный поток или путь в Archive конструктор извлечения.
1FileStream zipFileStream = File.Open("myarchive.zip", FileMode.Open);
2Архивный архив = новый архив (zipFileStream);
3
4или
5
6Архив archive = новый архив("myarchive.zip");
Извлечение зашифрованных архивов
Архивы, защищенные паролем, можно извлечь, указав параметр ArchiveLoadOptions.
1Архивный архив = новый Archive (sourceStream, новый ArchiveLoadOptions () {DecryptiptionPassword = "p@s$" });
2
3или
4
5Архивный архив = новый Архив («myarchive.zip», новый ArchiveLoadOptions () { DecryptiptionPassword = «p@s $» });
Работа с записями архива
Добавление записей в архив
Записи можно добавлять в архив с помощью метода Archive CreateEntry. Перегрузки, предлагаемые этим методом, позволяют создавать записи в архиве на основе пути к файлу или потока вместе со спецификациями настроек записи архива. Файлы из каталога также можно добавлять в архив, задав рекурсивный поиск по каталогу.
1CreateEntry(имя строки, источник потока, ArchiveEntrySettings newEntriesSettings) — создает одну запись с заданным именем, источником данных, дополнительными настройками сжатия и шифрования для записи.
2
3CreateEntry(имя строки, путь к строке, ArchiveEntrySettings newEntriesSettings) — создает одну запись с заданным именем и источником файла, дополнительными настройками сжатия и шифрования для записи.
4
5CreateEntry(string name, FileInfo fileInfo, ArchiveEntrySettings newEntriesSettings) — создает одну запись с заданным именем, источником файла, дополнительными настройками сжатия и шифрования для записи. Сохраняет атрибуты файла NTFS.
6CreateEntry(имя строки, источник потока, ArchiveEntrySettings newEntriesSettings, FileSystemInfo fileInfo) — создает одну запись с заданным именем, источником данных, настройками сжатия и шифрования для записи. Сохраняет атрибуты файла NTFS и учитывает необязательные параметры.