
C# Archive: Lær at bruge klassen Archive til kompleks behandling af ZIP.
ZIP archivy er nødvendige for komprimering og organisering af filer og mapper i én let administrerbar container. De reducerer ikke kun filstørrelsen for effektiv lagring og overførsel, men bevarer også metadata og kan krypteres for øget sikkerhed. I denne artikel vil vi undersøge forskellige metoder til programmatisk oprette ZIP filer i C#, herunder hvordan man tilføjer filer og mapper, opretter adgangskodebeskyttede arkiver og bruger AES‑kryptering.
Hvad vil du lære?
I denne artikel vil du lære, hvordan:
- Oprettelse af ZIP arkivet ved hjælp af C#
- Tilføjelse af flere filer til ZIP arkivet
- Tilføjelse af filer til ZIP arkivet
- Opret et arkiv beskyttet med adgangskode ved hjælp af ZipCrypto
- Kryptering af arkivet med AES
- Parallelt komprimeringsmode
C# ZIP bibliotek
Ti Aspose.ZIP for .NET Biblioteket er et kraftfuldt værktøj til at håndtere filoperationer ZIP i .NET-applikationer, hvilket gør det nemt at zippe eller udpakke filer og mapper. Dette bibliotek er især effektivt til behandling af store filer i C# .NET ZIP arkiver og understøtter AES-kryptering for øget sikkerhed. Dette bibliotek kan du nemt installere fra NuGet eller download binære filer fra Downloader sektion.
Opret et arkiv i C#
Gør programmatisk oprette en ZIP-fil i C#, følg disse trin:
- Opret FileStream objekt til uddataarkiv ZIP.
- Åbn kildefilen som a FileStream objekt.
- Instantiere den Arkiv klasse.
- Tilføj en fil til arkivet ved hjælp af. Archive.CreateEntry(string, FileStream) metode.
- Gem arkivet ZIP ved hjælp af. Archive.Save(FileStream) metode.
Her er eksempel på kode, der viser, hvordan du tilføjer en fil til et ZIP-arkiv ved hjælp af C#:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
Tilføj flere filer til et ZIP-arkiv i C#
Når du har brug for. tilføj flere filer til arkivet ZIP, kan der vælges flere tilgange. Her er metoderne, som du kan bruge med C# til zipning af flere filer:
Brug af FileStream til at tilføje flere filer
Denne metode bruger FileStream klasse til at tilføje filer til arkivet ZIP ved hjælp af Archive.CreateEntry(String, FileStream) metode. Her er, hvordan du kan gøre det:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
Brug af FileInfo til flere filer
Alternativt kan du bruge. FileInfo klasse til at indlæse filer og tilføje dem til arkivet ZIP ved hjælp af Archive.CreateEntry(String, FileInfo) metode. Nedenfor er et eksempel på kode:
Brug af CEST-filen
Du kan også direkte angive stier til filer i. Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) metode. Her er et eksempel:
Tilføj mapper til et ZIP arkiv i C#
Gør tilføj mappe til arkivet ZIP i C#, følg disse trin:
- Opret FileStream objekt for uddataarkiv ZIP.
- Instantiere den arkiv klasse.
- Brug DirectoryInfo klasse til at angive den mappe, du vil zippe.
- Tilføj en mappe til ZIP ved hjælp af. Archive.CreateEntries(DirectoryInfo) metode.
- Gem arkivet ZIP ved hjælp af. Archive.Save(FileStream) metode.
Her er eksempel kode, der illustrerer, hvordan man tilføjer en mappe til filen ZIP:
Opret et adgangskodebeskyttet ZIP ved hjælp af ZipCrypto i C#
Hvis du vil sikre dine ZIP arkiver, kan du bruge adgangskodebeskyttelse med ZipCrypto-kryptering. Dette udføres ved at bruge. ArchiveEntrySettings klasse i konstruktøren arkiv, som accepterer krypteringstypen som en parameter. Du kan bruge C# Zip-arkiv adgangskode metode til nem implementering af dette.
Her er et eksempel på, hvordan man opretter et ZIP-arkiv beskyttet med en adgangskode ved hjælp af ZipCrypto i C#:
Opret en adgangskodebeskyttet ZIP med AES‑kryptering
Ti Aspose.ZIP for .NET biblioteket understøtter også AES‑kryptering for at beskytte arkiver ZIP. Du kan vælge mellem følgende AES‑krypteringsmetoder:
- AES128
- AES192
- AES256
For at bruge AES‑kryptering, brug the AesEcryptionSettings klasse. Nedenfor er et eksempel på kode, der demonstrerer, hvordan man opretter en adgangskodebeskyttet ZIP med AES‑kryptering i C#, inklusive support for C# adgangskode til Zip‑fil funktion:
Indstilling af parallel komprimeringsmodus
For effektiv behandling af flere elementer kan du konfigurere API’et til parallel komprimering ved hjælp af the ParallelOptions klasse. Tilgængelige parallelle komprimeringsmetoder er:
- aldrig - Decompress ikke parallelt.
- altid - Komprimer parallelt (pas på mulige hukommelsesproblemer).
- Bil - Automatisk beslutte, om parallel kompression skal anvendes baseret på elementerne.
Her er en vejledning i, hvordan du indstiller parallel komprimeringsmode ved zipning af flere filer ved hjælp af Aspose biblioteket C# ZIP:
using Aspose.Zip;
using Aspose.Zip.Saving;
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
string dataDir = "";
using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
//Define the parallelism criterion
var parallelOptions = new Aspose.Zip.Saving.ParallelOptions
{
ParallelCompressInMemory = ParallelCompressionMode.Always
};
archive.Save(zipFile,
new ArchiveSaveOptions()
{
ParallelOptions = parallelOptions,
Encoding = Encoding.ASCII,
ArchiveComment = "There are two poems from Canterbury corpus"
});
}
}
}
}
Find ud af mere om C# .NET ZIP Library
For at uddybe din forståelse. C# .NET ZIP bibliotek, undersøg følgende ressourcer:
Prøv vores online værktøj til zip‑komprimering
Du kan også eksperimentere med vores gratis onlineapplikation baseret på Aspose.ZIP for .NET til nem komprimering af filer i ZIP arkiver.
Konklusion
I denne artikel har du lært, hvordan oprette ZIP arkiver programmatisk i C#. De leverede kodeeksempler viser, hvordan man tilføjer filer og mapper til arkiver ZIP, opretter ZIP-filer beskyttet med adgangskode ved hjælp af krypteringsmetoderne ZipCrypto og AES og konfigurerer parallel kompression. Desuden forstår du nu, hvordan opret ZIP filer i C#, inklusive hvordan zip en fil, Opret filen ZIP i C#, en tilføj filer til ZIP arkiver. Hvis du har nogen spørgsmål eller har brug for yderligere hjælp, så tøv ikke med at kontakte os via vores forum.
Også du
Yderligere ressourcer
Hvis du leder efter mere information om, hvordan opret ZIP filer i C#, overvej at se på:
- Hvordan zipper du filer i .NET med C#
- C# Zip‑fil med adgangskode
- C# Oprettelse af Zip-fil fra flere filer
- C# ZIP bibliotek
- Her er eksempel på kode, der viser, hvordan du tilføjer en fil til et ZIP-arkiv ved hjælp af C#:
Inkorporering af forskellige metoder til Opret ZIP filer i C#, for eksempel .NET kerne oprette ZIP fil, C# Opret ZIP fil programmatisk, en C# Tilføj filer til ZIP, kan betydeligt øge effektiviteten af din udvikling og dine databehandlingskapaciteter.
Du kan også udforske C#‑eksempel på ZIP-fil så I kan se den praktiske implementering af disse metoder, hvilket yderligere vil uddybe jeres forståelse af, hvordan zip-filer i .NET ved hjælp af C#.