Архіви GZip(.gz) використовуються для стиснення одного або кількох файлів за допомогою алгоритму стиснення GNU zip. Він зазвичай використовується для стиснення файлів в операційних системах UNIX. У цій статті ви дізнаєтесь, як стискати файли за допомогою GZip у C#. Крім того, у статті також буде описано, як розпакувати архіви GZip у C#.
- C# GZip API для стиснення та розпакування файлів
- Стиснення файлів за допомогою GZip у C#
- Розпакуйте архів GZip у C#
- Розпакуйте архів GZip у Stream на C#
Стиснення файлів за допомогою GZip у C# - встановлення API
Щоб стискати та розпаковувати файли за допомогою GZip, ми будемо використовувати Aspose.ZIP for .NET. Це потужний API, який дозволяє працювати з популярними форматами архівів, зокрема ZIP, 7z, GZip тощо. Ви можете завантажити API або встановити його за допомогою NuGet.
PM> Install-Package Aspose.Zip
Стиснення файлів GZip у C#
Нижче наведено кроки для стиснення файлів за допомогою GZip у C#.
- Створіть об’єкт класу GzipArchive.
- Використовуйте метод GzipArchive.SetSource(String), щоб додати файл до архіву.
- Створіть архів GZip за допомогою методу GzipArchive.Save(String).
У наведеному нижче прикладі коду показано, як стискати файли до GZip у C#.
using (GzipArchive archive = new GzipArchive())
{
// встановити джерело
archive.SetSource("data.bin");
// створити архів
archive.Save("archive.gz");
}
Розпакуйте GZip у C#
Нижче наведено кроки для розпакування архіву GZip у C#.
- Створіть об’єкт класу GzipArchive та ініціалізуйте його шляхом до архіву GZip.
- Створіть файл для видобутого вмісту за допомогою методу File.Create(String).
- Відкрийте GZip для розпакування за допомогою методу GZipArchive.Open().
- Прочитайте видобутий вміст і запишіть його у файл.
У наведеному нижче прикладі коду показано, як розпакувати архів GZip у C#.
// завантажити архів GZip
using (var archive = new GzipArchive("archive.gz"))
{
// створити файл
using (var extracted = File.Create("data.bin"))
{
// відкритий архів
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// записати в файл
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Розпакуйте GZip у Stream на C#
Ви також можете розпакувати архів GZip в об’єкт потоку пам’яті. Нижче наведено кроки для виконання цієї операції.
- Створіть новий об’єкт MemoryStream.
- Створіть об’єкт класу GzipArchive та ініціалізуйте його шляхом до архіву GZip.
- Розпакуйте GZip і скопіюйте в потік пам’яті за допомогою методу GZipArchive.Open().CopyTo(MemoryStream).
У наведеному нижче прикладі коду показано, як розпакувати архів GZip у потік пам’яті за допомогою C#.
// створити потік пам'яті
var ms = new MemoryStream();
// завантажити архів GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// видобути та скопіювати в потік пам’яті
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
Стискайте та розпаковуйте файли GZip – отримайте безкоштовну ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб стискати або розпаковувати архіви GZip без обмежень оцінки.
Висновок
У цій статті ви дізналися, як стискати або розпаковувати файли за допомогою GZip у C#. Крім того, ви бачили, як розпакувати GZip для програмного потоку за допомогою C# .NET. Ви можете дізнатися більше про Aspose.ZIP for .NET за допомогою документації. Крім того, ви можете зв’язатися з нами, щоб поділитися своїми запитами через наш форум.