Skapa ZIP i C#

Introduktion till ZIP-arkiv i C#

ZIP-arkiv är viktiga för att komprimera och organisera filer och mappar i en enda, hanterbar behållare. De minskar inte bara filstorlekar för effektiv lagring och överföring, utan de bevarar också metadata och kan krypteras för ökad säkerhet. I denna artikel kommer vi att utforska olika metoder för att programmeringsmässigt skapa ZIP-filer i C#, inklusive hur man lägger till filer och mappar, skapar lösenordsskyddade arkiv och tillämpar AES-kryptering.

Vad du kommer att lära dig

I denna artikel kommer du att upptäcka hur man:

C# ZIP-bibliotek

Aspose.ZIP för .NET-biblioteket är ett robust verktyg för att hantera ZIP-filoperationer inom .NET-applikationer, vilket gör det enklare att zippa eller packa upp filer och mappar. Det stöder också AES-kryptering för ökad säkerhet. Du kan enkelt installera detta bibliotek från NuGet eller ladda ner binärfilerna från Nedladdningar-sektionen.

Skapa ett ZIP-arkiv i C#

För att programmeringsmässigt skapa en ZIP-fil i C#, följ dessa steg:

  1. Skapa ett FileStream-objekt för det utgående ZIP-arkivet.
  2. Öppna källfilen som ett FileStream-objekt.
  3. Instansiera Archive-klassen.
  4. Lägg till filen i arkivet med hjälp av 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 i C#:

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

När du behöver lägga till flera filer i ett ZIP-arkiv, finns det flera tillvägagångssätt du kan använda:

Använda FileStream för att lägga till flera filer

Denna metod använder FileStream-klassen för att lägga till filer i ZIP-arkivet via metoden Archive.CreateEntry(String, FileStream). Här är hur du kan göra det:

Använda FileInfo för flera filer

Alternativt kan du använda FileInfo-klassen för att ladda filer och lägga till dem i ZIP-arkivet med metoden Archive.CreateEntry(String, FileInfo). Nedan finns ett kodexempel:

Använda filvägar

Du kan också direkt ange filvägarna till metoden Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Här är ett exempel:

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

För att lägga till en mapp i ett ZIP-arkiv i C#, följ dessa steg:

  1. Skapa ett FileStream-objekt för det utgående ZIP-arkivet.
  2. Instansiera Archive-klassen.
  3. Använd DirectoryInfo-klassen för att specificera mappen du vill zippa.
  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 illustrerar hur man lägger till en mapp i en ZIP-fil:

Skapa ett lösenordsskyddat ZIP med ZipCrypto i C#

För att säkra dina ZIP-arkiv kan du tillämpa lösenordsskydd med ZipCrypto-kryptering. Detta uppnås genom att använda ArchiveEntrySettings-klassen i konstruktorn för Archive, som accepterar krypteringstypen som en parameter.

Här är 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 skydda 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. Nedan finns ett kodexempel som visar hur man skapar ett lösenordsskyddat ZIP med AES-kryptering i C#:

Ställa in parallell komprimeringsläge

För effektiv hantering av flera poster kan du konfigurera API:et för parallell komprimering med hjälp av ParallelOptions-klassen. De tillgängliga parallella komprimeringslägena är:

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

Här är hur man ställer in parallell komprimeringsläge när man zippar flera filer med Aspose C# ZIP-biblioteket:

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

För att fördjupa din förståelse för C# ZIP-biblioteket, utforska följande resurser:

Prova vårt online ZIP-komprimeringsverktyg

Du kan också experimentera med vår gratis online-applikation baserat på Aspose.ZIP för .NET för att enkelt komprimera filer till ZIP-arkiv.

Slutsats

I denna artikel har du lärt dig hur man skapar ZIP-arkiv programmeringsmässigt i C#. De tillhandahållna kodexemplen visar hur man lägger till filer och mappar i ZIP-arkiv, skapar lösenordsskyddade ZIP-filer med ZipCrypto och AES-krypteringsmetoder, samt konfigurerar parallell komprimering. Om du har några frågor eller behöver ytterligare hjälp, tveka inte att kontakta oss via vårt forum.

Se även

Unrar eller extrahera filer med C#Packa upp 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#
Sammanfoga flera ZIP- eller TAR-arkiv i C#Hur man skapar ZIP-filerExtrahera 7z online