
C# Archive: aprèn a aprofitar la classe d’Arxiu per a un maneig complet de ZIP.
Arxius ZIP són essencials per comprimir i organitzar fitxers i carpetes en un únic contenidor manejable. No només redueixen la mida dels fitxers per a un emmagatzematge i transmissió eficients, sinó que també conserven les metadades i poden ser xifrats per a una seguretat millorada. En aquest article, explorarem diverses metodologies per Crear fitxers ZIP programàticament en C#, incloent com afegir fitxers i carpetes, crear arxius protegits amb contrasenya i aplicar xifratge AES.
Què aprendràs
En aquest article, descobriràs com:
- Creació d’arxius ZIP amb C#
- Afegir diversos arxius a un arxiu ZIP
- Afegir fitxers a un arxiu ZIP
- Creació d’un arxiu ZIP protegit per contrasenya utilitzant ZipCrypto
- Encripta un arxiu ZIP amb encriptació AES
- Modalitat de compressió paral·lela
C# Biblioteca ZIP
El Aspose.ZIP for .NET La biblioteca és una eina potent per gestionar operacions de fitxers ZIP dins d’aplicacions .NET, facilitant la compressió o descompressió de fitxers i carpetes. Aquesta biblioteca és especialment eficaç per Gestió de fitxers grans en arxius ZIP amb C# .NET i admet xifratge AES per a una seguretat millorada. Pots instal·lar fàcilment aquesta biblioteca des de NuGet o descarregueu els binaris des de Descàrregues secció.
Creació d’arxius ZIP en C#
a crear programàticament un fitxer ZIP en C#, segueix aquests passos:
- Crea un FileStream objecte per a l’arxiu ZIP de sortida.
- Obre el fitxer font com a FileStream objecte.
- Instancia el Arxiu classe.
- Afegeix el fitxer a l’arxiu utilitzant el Archive.CreateEntry(string, FileStream) mètode.
- Desa l’arxiu ZIP amb el Archive.Save(FileStream) mètode.
Aquí teniu una mostra de codi que demostra com afegir un arxiu a un arxiu ZIP utilitzant 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);
}
}
Afegir arxius múltiples a un arxiu ZIP en C#
Quan necessitis afegir diversos fitxers a un arxiu ZIP, es poden prendre diverses aproximacions. Aquí teniu els mètodes que podeu utilitzar amb C# per comprimir diversos fitxers:
Utilitzar FileStream per afegir arxius múltiples
Aquest mètode utilitza el FileStream classe per afegir fitxers a l’arxiu ZIP via el Archive.CreateEntry(String, FileStream) mètode. Aquí tens com fer-ho:
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);
}
}
Utilitzar FileInfo per a múltiples arxius
Alternativament, podeu utilitzar el FileInfo classe per carregar fitxers i afegir-los a l’arxiu ZIP amb el Archive.CreateEntry(String, FileInfo) mètode. A continuació hi ha un exemple de codi:
Utilitzar el camí de fitxer
També podeu proporcionar directament les rutes dels fitxers a Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) mètode. Aquí teniu un exemple:
Afegir carpetes a un arxiu ZIP en C#
a afegir una carpeta a un arxiu ZIP en C#, segueix aquests passos:
- Crea una FileStream objecte per a l’arxiu ZIP de sortida.
- Instancia el Arxiu classe.
- Utilitza el DirectoryInfo classe per especificar la carpeta que vols comprimir.
- Afegeix la carpeta al ZIP utilitzant el Archive.CreateEntries(DirectoryInfo) mètode.
- Desa l’arxiu ZIP amb el Archive.Save(FileStream) mètode.
Aquí teniu una mostra de codi que il·lustra com afegir una carpeta a un arxiu ZIP:
Creació de ZIP protegida amb contrasenya amb ZipCrypto en C#
Per protegir els teus arxius ZIP, pots aplicar protecció amb contrasenya mitjançant el xifratge ZipCrypto. Això s’aconsegueix utilitzant el ArchiveEntrySettings classe al constructor de Arxiu, que accepta el tipus d’encriptació com a paràmetre. Podeu utilitzar el Contrasenya d’arxiu Zip en C# mètode per implementar això fàcilment.
Aquí teniu un exemple de com crear un arxiu ZIP protegit per contrasenya utilitzant ZipCrypto en C#:
Creació de contrasenya protegida amb encriptació AES
El Aspose.ZIP for .NET La biblioteca també admet xifratge AES per protegir arxius ZIP. Podeu triar entre els següents mètodes de xifratge AES:
- AES128
- AES192
- AES256
Per aplicar el xifratge AES, utilitzeu el AesEcryptionSettings classe. A continuació hi ha un exemple de codi que demostra com crear un ZIP protegit amb contrasenya amb xifratge AES a C#, incloent suport per al Contrasenya del fitxer Zip en C# funcionalitat:
Configuració de la compressió paral·lela
Per a una gestió eficient de múltiples entrades, podeu configurar l’API per a compressió paral·lela utilitzant el ParallelOptions classe. Els modes de compressió paral·lela disponibles són:
- Mai - No comprimir en paral·lel.
- Sempre - Comprimeix en paral·lel (vés amb compte dels possibles problemes de memòria).
- cotxe - Decidir automàticament si s’ha d’utilitzar compressió paral·lela en funció de les entrades.
Aquí teniu com configurar el mode de compressió paral·lela mentre zip multiples arxius amb la biblioteca Aspose 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"
});
}
}
}
}
Llegeix més sobre C# .NET ZIP Library
Per aprofundir la teva comprensió de Biblioteca ZIP de C# .NET, exploreu els recursos següents:
Prova la nostra eina de compressió ZIP en línia
També podeu experimentar amb el nostre aplicació en línia gratuïta basat en el Aspose.ZIP per a .NET per comprimir fitxers en arxius ZIP sense esforç.
Conclusió
En aquest article, heu après com a crea arxius ZIP programàticament en C#. Les mostres de codi proporcionades demostren com afegir fitxers i carpetes a arxius ZIP, crear fitxers ZIP protegits amb contrasenya utilitzant els mètodes d’encriptació ZipCrypto i AES, i configurar la compressió paral·lela. A més, ara enteneu com crea fitxers ZIP en C#, incloent com comprimir un fitxer, crea un fitxer ZIP en C#, i afegir fitxers al ZIP arxius. Si teniu alguna pregunta o necessiteu més assistència, no dubteu a posar-vos en contacte amb nosaltres a través del nostre. fòrum.
També
Recursos addicionals
Si busques més informació sobre com crea fitxers ZIP en C#, considera consultar:
- Com fer un fitxer en .NET amb C#
- C# Zip amb contrasenya
- C# Creació d’arxius Zip a partir de múltiples arxius
- C# Biblioteca ZIP
- Aquí teniu una mostra de codi que demostra com afegir un arxiu a un arxiu ZIP utilitzant C#:
Incorporant diversos mètodes per crea fitxers ZIP en C#, com ara .NET Core Crea fitxer ZIP, C# Crear fitxer ZIP programàticament, i C# Afegeix fitxers a ZIP, pot millorar significativament l’eficiència del teu desenvolupament i les capacitats de gestió de dades.
També podeu explorar el Exemple de fitxer Zip C# per veure una implementació pràctica d’aquests mètodes, que aprofundirà encara més la vostra comprensió de com fitxers zip a .NET amb C#.