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