
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:
- Skapa ett ZIP-arkiv med C#
- Lägga till flera filer i ett ZIP-arkiv
- Lägga till mappar i ett ZIP-arkiv
- Skapa ett lösenordsskyddat ZIP-arkiv med ZipCrypto
- Kryptera ZIP-arkiv med AES-kryptering
- Ställa in parallell komprimeringsläge
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:
- Skapa ett FileStream objekt för utdata-ZIP-arkivet.
- Öppna källfilen med ett FileStream objekt.
- Instansiera Archive klassen.
- Lägg till filen i arkivet med metoden Archive.CreateEntry(string, FileStream).
- 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:
- Skapa ett FileStream objekt för utdata-ZIP-arkivet.
- Instansiera Archive klassen.
- Använd DirectoryInfo klassen för att specificera mappen som ska zipas.
- Lägg till mappen i ZIP med metoden Archive.CreateEntries(DirectoryInfo).
- 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.