1. Produk
  2.   Kompresi
  3.   .NET
  4.   SharpZipLib
 
  

C# .NET Library untuk Format File Kompresi

Open Source Free .NET API untuk format pengarsipan file seperti ZIP, GZIP, TAR & BZIP2.

Pustaka SharpZipLib ditulis seluruhnya dalam C# untuk platform .NET. Ini diimplementasikan sebagai perakitan sehingga Anda dapat memasukkannya ke dalam proyek lain (dalam bahasa .NET apa pun).

Ini awalnya di-porting dari pustaka java.util.zip GNU Classpath sehingga dapat digunakan dengan SharpDevelop, yang membutuhkan kompresi GZIP & ZIP. Kemudian karena permintaan pengguna yang tinggi, pengarsipan BZIP2 dan Tar juga disertakan dalam pustaka.

Previous Next

Memulai dengan SharpZipLib

Anda harus memiliki .NET Framework 4.5 atau lebih tinggi untuk mengonfigurasi SharpZipLib. Setelah Anda memenuhi prasyarat, Anda dapat mengunduh repositori secara manual dari GitHub atau langsung mengambil rakitan dari NuGet.

Cara yang disarankan untuk menginstal SharpZipLib adalah dari NuGet karena tersedia sebagai Paket NuGet

Instal SharpZipLib dari NuGet

 Install-Package SharpZipLib

Perpustakaan .NET untuk Membuat & Mengekstrak File ZIP

SharpZipLib memungkinkan pengembang perangkat lunak untuk membuat file ZIP di dalam aplikasi .NET mereka sendiri. Pengembang dapat dengan mudah mengompres semua file yang tersedia di dalam direktori dan menetapkannya ke dalam satu file zip. ZIP adalah salah satu format file kompresi paling populer dan memberi pengguna fasilitas untuk mengurangi ukuran file. API juga mendukung ekstraksi konten file ZIP ke tempat pilihan pengguna

Ekstrak file dari ZIP - C#

// Open zip file
using (Stream fsInput = File.OpenRead("D:\\input.zip"))
using (var zf = new ZipFile(fsInput))
{
  // Set password if required
  zf.Password = "12345";
  // Unzip data
  foreach (ZipEntry zipEntry in zf)
  {
    if (!zipEntry.IsFile)
    {
      // Ignore directories
      continue;
    }
    String entryFileName = zipEntry.Name;
    var directoryName = "D:\\output\\test";
    if (directoryName.Length > 0)
    {
      Directory.CreateDirectory(directoryName);
    }
    var buffer = new byte[4096];
    using (var zipStream = zf.GetInputStream(zipEntry))
    using (Stream fsOutput = File.Create("data.zip"))
    {
      StreamUtils.Copy(zipStream, fsOutput, buffer);
    }
  }
}

Buat File ZIP yang Dilindungi Kata Sandi

SharpZipLib memberi pengembang perangkat lunak kemampuan untuk mengompres semua file di dalam folder menjadi file ZIP dan menentukan kata sandi untuk file yang dibuat. Jika Anda ingin membuat file ZIP tanpa perlindungan, harap setel nilainya menjadi nol atau jangan nyatakan untuk meninggalkan file tanpa perlindungan kata sandi. Ini mendukung sejumlah besar file.

Buat file ZIP yang dilindungi kata sandi - C#

// Create a new ZIP file 
using (FileStream fsOut = File.Create("D:\\output.zip"))
using (var zipStream = new ZipOutputStream(fsOut))
{
  //0-9, 9 being the highest level of compression
  zipStream.SetLevel(3);
  // Set password
  zipStream.Password = "12345";
  // Add files
  var files = Directory.GetFiles("D:\\sample");
  foreach (var filename in files)
  {
    var fi = new FileInfo(filename);
    // Make the name in zip based on the folder
    var entryName = filename.Substring(1);
    // Remove drive from name and fixe slash direction
    entryName = ZipEntry.CleanName(entryName);
    var newEntry = new ZipEntry(entryName);
    // Note the zip format stores 2 second granularity
    newEntry.DateTime = fi.LastWriteTime;
    newEntry.Size = fi.Length;
    zipStream.PutNextEntry(newEntry);
    var buffer = new byte[4096];
    using (FileStream fsInput = File.OpenRead(filename))
    {
      StreamUtils.Copy(fsInput, zipStream, buffer);
    }
    zipStream.CloseEntry();
  }
}
 Indonesia