1. Táirgí
  2.   Comhbhrú
  3.   .NET
  4.   SharpZipLib
 
  

Leabharlann GLAN do Formáidí Comhbhrúite C #

Open Source Free .NET API le haghaidh formáidí cartlannaithe comhad mar ZIP, GZIP, TAR & BZIP2.

Tá leabharlann SharpZipLib scríofa go hiomlán in C# don ardán .NET. Cuirtear i bhfeidhm é mar thionól agus mar sin is féidir leat é a ionchorprú i dtionscadail eile (in aon teanga .NET).

Rinneadh é a aistriú ar dtús ó leabharlann GNU Classpath java.util.zip ionas go bhféadfaí é a úsáid le SharpDevelop, a raibh gá le comhbhrú GZIP & ZIP. Níos déanaí mar gheall ar éileamh ard ó úsáideoirí, cuireadh cartlannú BZIP2 agus Tar san áireamh sa leabharlann freisin.

Previous Next

Tús a chur le SharpZipLib

Ní mór duit .NET Framework 4.5 nó níos airde a bheith agat chun SharpZipLib a chumrú. Nuair a bheidh na réamhriachtanais comhlíonta agat, is féidir leat an stór a íoslódáil de láimh ó GitHub nó an tionól a fháil go díreach ón NuGet.

Is ó NuGet an bealach molta SharpZipLib a shuiteáil toisc go bhfuil sé ar fáil mar Pacáiste NuGet

Suiteáil SharpZipLib ó NuGet

 Install-Package SharpZipLib

Leabharlann GLAN chun Comhaid ZIP a Chruthú & a Sliocht

Cuireann SharpZipLib ar chumas forbróirí bogearraí comhad ZIP a chruthú laistigh dá bhfeidhmchláir .NET féin. Is féidir le forbróirí na comhaid go léir atá ar fáil taobh istigh d'eolaire a chomhbhrú go héasca agus iad a shannadh i gcomhad zip amháin. Tá ZIP ar cheann de na formáidí comhaid comhbhrú is coitianta agus tugann sé deis d’úsáideoirí méid na gcomhad a laghdú. Tacaíonn an API freisin le hábhar na gcomhad ZIP a bhaint as áit de rogha an úsáideora

Bain comhaid as 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);
    }
  }
}

Cruthaigh Comhad ZIP Cosanta le Pasfhocal

Tugann SharpZipLib an cumas d’fhorbróirí bogearraí na comhaid go léir taobh istigh d’fhillteán a chomhbhrú isteach i gcomhad ZIP agus pasfhocal a shainiú do na comhaid cruthaithe. Más mian leat comhaid ZIP a chruthú gan chosaint cuir a luach ar neamhní le do thoil nó ná dearbhaigh go bhfágfaidh tú an comhad gan aon chosaint phasfhocal. Tacaíonn sé le líon mór de chomhaid.

Cruthaigh comhad ZIP cosanta ag pasfhocal - 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();
  }
}
 Gaeilge