Як стискати або витягувати архіви за допомогою C#
Огляд
У цій статті пояснюється, як стискати або витягувати архіви. Ці архіви можуть мати Zip, 7z, Rar та інші подібні формати. Він охоплює наступні теми.
Формат: ZIP
Формат: ZIP - пароль
Формат: 7z
Формат: RAR
Інші теми, охоплені цією статтею.
C# Стискання або видобування архівів
На цій сторінці показано, як виконувати стандартні операції архівування в C# за допомогою Aspose.ZIP для .NET. Пакет Aspose.ZIP можна додати до проекту .NET за допомогою такої команди NuGet:
1PM> Install-Package Aspose.Zip
Його також можна додати безпосередньо до проекту .NET як посилання на збірку. Бібліотеку Aspose.ZIP можна завантажити з нашої домашньої сторінки: https://products.aspose.com/zip/net/.
Бібліотеку .NET Aspose.ZIP можна використовувати в будь-якій ОС, яка підтримує .NET Core (наприклад, Windows, Linux або macOS).
Як створити ZIP-файли в C#
Кроки: створення файлу Zip у C#
- Створіть екземпляр класу Архів.
- Додайте файли за допомогою методу Archive.CreateEntry.
- Заархівуйте файли за допомогою методу Архівувати.Зберегти.
1using (var archive = new Archive())
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
Конструктор класу архіву створює звичайний ZIP-архів за допомогою алгоритму стиснення Deflate і без шифрування.
Як розпакувати файли в C#
Кроки: розпакуйте файл у папку в C#
- Створіть екземпляр класу Архів зі своїм zip-файлом.
- Розпакуйте zip-файл за допомогою методу Archive.ExtractToDirectory у свою папку.
1using (var archive = new Archive("input_archive.zip"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
Конструктор класу архіву може відкрити будь-який архів ZIP. ArchiveLoadOptions слід надати як другий параметр, якщо вхідний архів захищено паролем (див. приклад нижче).
Як стиснути файли 7z на C#
Кроки: створення архівів 7z у C#
- Створіть екземпляр класу SevenZipArchive за допомогою SevenZipLZMACompressionSettings.
- Додайте файли, викликавши метод SevenZipArchive.CreateEntries.
- Збережіть його у форматі 7z, викликавши метод SevenZipArchive.Save.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3 archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4 archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}
Для створення нового архіву 7z слід використовувати конструктор класу SevenZipArchive. У наведеному вище прикладі використовується класичне стиснення LZMA, але також доступні інші параметри стиснення та шифрування.
Як розпакувати файли 7z на C#
Кроки: розпакуйте файл 7z у C#
- Створіть екземпляр класу SevenZipArchive зі своїм файлом 7z.
- Витягніть вміст файлу 7z, викликавши метод SevenZipArchive.ExtractToDirectory.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
У наведеному вище прикладі конструктор класу SevenZipArchive відкриває незахищений архів 7z.
Як розпакувати файли RAR на C#
Кроки: розпакуйте файл RAR у C#
- Створіть екземпляр класу RarArchive із вашим RAR-файлом.
- Витягніть вміст файлу RAR, викликавши метод RarArchive.ExtractToDirectory.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
У наведеному вище прикладі конструктор класу RarArchive відкриває незахищений архів RAR.
Як ZIP-файли з паролем у C#
Кроки: створення Zip-файлу з паролем у C#
- Створіть екземпляр класу Архів.
- Передайте йому ArchiveEntrySettings і встановіть властивість encryptionSettings з об’єктом TraditionalEncryptionSettings, який містить ваш пароль.
- Додайте стільки файлів, викликавши метод Archive.CreateEntry кілька разів.
- Збережіть його як Zip-файл за допомогою методу Archive.Save.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
Параметр encryptionSettings використовується для створення ZIP-архіву, захищеного паролем.
Як розпакувати файли з паролем у C#
Кроки: розпакуйте захищений паролем Zip-файл за допомогою C#
- Створіть екземпляр класу Архів.
- Передайте йому об’єкт ArchiveLoadOptions і встановіть властивість DecryptionPassword за допомогою password файлу zip.
- Розпакуйте zip-файл за допомогою методу Archive.ExtractToDirectory у свою папку.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
ArchiveLoadOptions зі значенням властивості DecryptionPassword використовується для відкриття захищеного паролем ZIP-архіву.
Дивіться також
Ця стаття також охоплює ці теми. Коди такі ж, як і вище.
- Стиснення
- файл C# Zip
- файли C# Zip
- C# Створити Zip-архів
- C# Zip Кілька файлів
- C# Додати файл до Zip
- C# Стиснення файлів у Zip
- Архіви файлів C# у Zip
- Як заархівувати файл C#
- Видобуток
- Файл C# UnZip
- Файли C# UnZip
- C# Extract Zip Archive
- Як розархівувати файл C#
- Стиснення захищено паролем
- Zip-файл C# із паролем
- Zip-файли C# із паролем
- C# Стиснення файлів у захищений паролем Zip
- Архівні файли C# у Zip із захистом паролем
- Видобуток захищено паролем
- Файл C# UnZip, захищений паролем
- C# UnZip, захищені паролем файли
- C# Extract Protected Password Zip Archive
- C#, як розархівувати файл із захистом паролем
Формат: ZIP
- Стиснення
- файл C# 7z
- файли C# 7z
- C# Create 7z Archive
- Кілька файлів C# 7z
- C# Додати файл до 7z
- C# Стиснути файли до 7z
- C# архівує файли до 7z
- C#, як створити файл 7z
- Видобуток
- C# Розпакуйте файл 7z
- C# Розпакуйте файли 7z
- Файл C# Extract 7z
- C# Extract 7z Files
- Архів C# Extract 7z
- Як видобути файл 7z C#
Формат: 7z