1. Produktai
  2.   Suspaudimas
  3.   .NET
  4.   SharpZipLib
 
  

C# .NET biblioteka, skirta glaudinimo failų formatams

Nemokama atvirojo kodo .NET API, skirta failų archyvavimo formatams, pvz., ZIP, GZIP, TAR ir BZIP2.

„SharpZipLib“ biblioteka yra visiškai parašyta C#, skirta .NET platformai. Jis įdiegtas kaip surinkimas, todėl galite įtraukti jį į kitus projektus (bet kuria .NET kalba).

Iš pradžių jis buvo perkeltas iš GNU Classpath java.util.zip bibliotekos, kad būtų galima naudoti su SharpDevelop, kuriam reikėjo GZIP ir ZIP glaudinimo. Vėliau dėl didelio vartotojų poreikio į biblioteką taip pat buvo įtrauktas BZIP2 ir Tar archyvavimas.

Previous Next

Darbo su SharpZipLib pradžia

Kad galėtumėte sukonfigūruoti „SharpZipLib“, turite turėti .NET Framework 4.5 arba naujesnę versiją. Kai įvykdysite būtinas sąlygas, galite rankiniu būdu atsisiųsti saugyklą iš GitHub arba tiesiogiai gauti rinkinį iš „NuGet“.

Rekomenduojamas „SharpZipLib“ diegimo būdas yra „NuGet“, nes jis pasiekiamas kaip „NuGet“ paketas

Įdiekite „SharpZipLib“ iš „NuGet“.

 Install-Package SharpZipLib

NET biblioteka, skirta ZIP failams kurti ir išgauti

„SharpZipLib“ leidžia programinės įrangos kūrėjams sukurti ZIP failą savo .NET programose. Kūrėjai gali lengvai suspausti visus kataloge esančius failus ir priskirti juos į vieną ZIP failą. ZIP yra vienas iš populiariausių glaudinimo failų formatų ir suteikia vartotojams galimybę sumažinti failų dydį. API taip pat palaiko ZIP failų turinio ištraukimą į vartotojo pasirinktą vietą

Išskleiskite failus iš 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);
    }
  }
}

Sukurkite slaptažodžiu apsaugotą ZIP failą

„SharpZipLib“ programinės įrangos kūrėjams suteikia galimybę suspausti visus aplanke esančius failus į ZIP failą ir nustatyti sukurtų failų slaptažodį. Jei norite sukurti ZIP failus be apsaugos, nustatykite jo reikšmę į null arba nedeklaruokite, kad failas paliekamas be apsaugos slaptažodžiu. Jis palaiko daugybę failų.

Sukurkite slaptažodžiu apsaugotą ZIP failą - 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();
  }
}
 Lietuvių