Buat GZip di C#

Arsip GZip (.gz) digunakan untuk mengompresi satu atau lebih file menggunakan algoritme kompresi zip GNU. Ini biasanya digunakan untuk kompresi file di sistem operasi UNIX. Pada artikel ini, Anda akan mempelajari cara mengompres file menggunakan GZip (.gz) secara terprogram di C#. Selain itu, artikel ini juga akan membahas cara mendekompresi arsip GZip di C#.

API Kompresi dan Dekompresi C# GZip - Unduhan Gratis

Untuk mengompresi dan mendekompres file menggunakan GZip, kami akan menggunakan Aspose.ZIP for .NET. Ini adalah API yang kuat yang memungkinkan Anda bekerja dengan format arsip populer termasuk ZIP, 7z, GZip, dll. Anda dapat mengunduh API atau menginstalnya menggunakan NuGet.

PM> Install-Package Aspose.Zip

Kompres File menggunakan GZip di C#

Berikut adalah langkah-langkah untuk mengkompres file menggunakan GZip di C#.

Contoh kode berikut menunjukkan cara mengompres file ke GZip di C#.

using (GzipArchive archive = new GzipArchive())
{
    // mengatur sumber
    archive.SetSource("data.bin");
    
    // membuat arsip
    archive.Save("archive.gz");
}

Dekompresi Arsip GZip di C#

Berikut adalah langkah-langkah untuk mendekompres arsip GZip di C# menggunakan Aspose.ZIP for .NET.

  • Buat objek dari kelas GzipArchive dan inisialisasi dengan jalur arsip GZip.
  • Buat file untuk konten yang diekstrak menggunakan metode File.Create(String).
  • Buka GZip untuk ekstraksi menggunakan metode GZipArchive.Open().
  • Baca konten yang diekstraksi dan tulis ke file.

Contoh kode berikut menunjukkan cara mendekompresi arsip GZip menggunakan C#.

// memuat arsip GZip
using (var archive = new GzipArchive("archive.gz"))
{
    // membuat file
    using (var extracted = File.Create("data.bin"))
    {
        // buka arsip
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        
        // menulis ke file
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

C# Ekstrak GZip ke Stream

Anda juga dapat mengekstrak arsip GZip ke dalam objek aliran memori. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

Contoh kode berikut menunjukkan cara mengekstrak arsip GZip ke aliran memori menggunakan C#.

// membuat aliran memori
var ms = new MemoryStream();

// memuat arsip GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
    // ekstrak dan salin ke aliran memori
    archive.Open().CopyTo(ms);
    Console.WriteLine(archive.Name);
}

API Kompresi dan Dekompresi C# GZip - Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengompresi atau mendekompres file menggunakan GZip di C#. Selain itu, Anda telah melihat cara mengekstrak GZip untuk streaming secara terprogram menggunakan C# .NET. Anda dapat mempelajari lebih lanjut tentang Aspose.ZIP for .NET menggunakan dokumentasi. Selain itu, Anda dapat menghubungi kami untuk menyampaikan pertanyaan Anda melalui forum kami.

Lihat juga