Skapa ZIP i C#

Introduktion till ZIP-arkiv

ZIP-arkiv är avgörande för att komprimera och konsolidera en eller flera filer eller mappar till en enda behållare. Detta format minskar inte bara filstorleken för lagring och överföring utan behåller också metadatainformation, vilket gör det enklare att hantera filer. ZIP-arkiv används i stor utsträckning både i skrivbords- och webbapplikationer för uppgifter som att ladda upp, ladda ner, dela och säkra filer genom kryptering.

I den här artikeln kommer vi att utforska olika metoder för programmatisk skapande av ZIP-arkiv i C#. Du kommer att lära dig hur man:

C# ZIP-bibliotek

Aspose.ZIP för .NET är ett robust API utformat för att zipa och unzippa filer och mappar inom .NET-applikationer. Det erbjuder funktioner som AES-kryptering för att säkra dina filer inom ZIP-arkiv. Du kan enkelt installera API:et från NuGet eller ladda ner binärfilerna från Nedladdningar-sektionen.

Skapa ett ZIP-arkiv i C#

För att komprimera en fil till ett ZIP-arkiv, följ dessa steg:

  1. Skapa ett FileStream objekt för utdata-ZIP-arkivet.
  2. Öppna källfilen med ett FileStream objekt.
  3. Instansiera Archive klassen.
  4. Lägg till filen i arkivet med metoden Archive.CreateEntry(string, FileStream).
  5. Spara ZIP-arkivet med metoden Archive.Save(FileStream).

Här är ett kodexempel som visar hur man lägger till en fil i ett ZIP-arkiv med C#:

Lägga till flera filer i ett ZIP-arkiv i C#

För att lägga till flera filer i ett ZIP-arkiv kan du välja en av följande metoder:

Använda FileStream

Använd FileStream klassen för att lägga till flera filer i ZIP-arkivet med metoden Archive.CreateEntry(String, FileStream). Så här:

Använda FileInfo

Alternativt kan du använda FileInfo klassen för att lägga till filer. Denna metod laddar filerna med hjälp av FileInfo klassen och lägger till dem i ZIP-arkivet med metoden Archive.CreateEntry(String, FileInfo). Se exemplet nedan:

Använda filväg

Du kan också lägga till filer direkt genom att ange deras vägar till metoden Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Så här:

Lägga till mappar i ett ZIP-arkiv i C#

Att lägga till en mapp i ett ZIP-arkiv kan vara ett bekvämt sätt att inkludera flera filer. För att ZIP:a en mapp i C#, följ dessa steg:

  1. Skapa ett FileStream objekt för utdata-ZIP-arkivet.
  2. Instansiera Archive klassen.
  3. Använd DirectoryInfo klassen för att specificera mappen som ska zipas.
  4. Lägg till mappen i ZIP med metoden Archive.CreateEntries(DirectoryInfo).
  5. Spara ZIP-arkivet med metoden Archive.Save(FileStream).

Här är ett kodexempel som demonstrerar hur man lägger till en mapp i ett ZIP-arkiv i C#:

Skapa ett lösenordsskyddat ZIP med ZipCrypto i C#

För att öka säkerheten kan du skapa lösenordsskyddade ZIP-arkiv med ZipCrypto-kryptering. Detta uppnås genom att använda ArchiveEntrySettings klassen i konstruktorn av Archive, vilket gör att du kan specificera krypteringstypen.

Här är ett exempel på hur man skapar ett lösenordsskyddat ZIP-arkiv med ZipCrypto i C#:

Skapa lösenordsskyddat ZIP med AES-kryptering

Aspose.ZIP för .NET-biblioteket stöder också AES-kryptering för att säkra ZIP-arkiv. Du kan välja mellan följande AES-krypteringsmetoder:

  • AES128
  • AES192
  • AES256

För att tillämpa AES-kryptering, använd AesEcryptionSettings klassen. Så här skapar du ett lösenordsskyddat ZIP med AES-kryptering i C#:

Ställa in parallell komprimeringsläge

För fall som involverar flera poster kan du konfigurera API:et för parallell komprimering med hjälp av ParallelOptions klassen. Aspose.ZIP för .NET erbjuder flera parallella komprimeringslägen:

  • Aldrig - Komprimera inte parallellt.
  • Alltid - Komprimera alltid parallellt (var försiktig med minnesproblem).
  • Auto - Bestäm automatiskt om parallell komprimering ska användas baserat på posterna.

Här är ett exempel som demonstrerar hur man ställer in det parallella komprimeringsläget när man zipar flera filer:

Lär dig mer om C# .NET ZIP-biblioteket

Dyk djupare in i vårt C# ZIP API med följande resurser:

Prova ZIP-arkiv online

Utforska vår gratis online-applikation, baserad på Aspose.ZIP för .NET, för att enkelt komprimera filer till ZIP-arkiv.

Slutsats

I den här artikeln har du lärt dig hur man programmatisk skapar ZIP-arkiv i C#. De tillhandahållna kodexemplen visar hur man lägger till filer och mappar i ZIP-arkiv. Dessutom täckte vi hur man skapar lösenordsskyddade ZIP-arkiv med både ZipCrypto- och AES-krypteringsmetoder. Vi diskuterade också parallell komprimering för att hantera stora filer effektivt. Om du har några frågor eller behöver ytterligare hjälp, tveka inte att kontakta oss via vårt forum.

Se också

Unrar eller extrahera filer med C#Unzip-filer i ZIP-arkiv med C#Skapa 7z (7-Zip) arkiv i C# .NET
Öppna eller extrahera 7z (7zip) fil i C# .NETSkapa och extrahera GZip-arkiv med C#Konvertera RAR-filer till ZIP-arkiv i C#
Konvertera ZIP-arkiv till TAR i C#Skapa ett platt ZIP-arkiv i C#Skapa körbart självextraherande arkiv i C#
Skapa TAR.GZ och TAR.XZ-filer i C#Ta bort filer i ett ZIP-arkiv i C#Extrahera nästlade ZIP-arkiv i C#
Slå samman flera ZIP- eller TAR-arkiv i C#Hur man skapar ZIP-filerExtrahera 7z online