Creare uno Zip di una cartella con il .NET Framework 4.5

di Cristian Civera, in .NET Framework,

Oltre alle novità più importanti e rilevanti, il .NET Framework 4.5 contiene alcune nuove API che cercano di rendere sempre più completo il mondo managed. Tra queste rientrano due nuovi assembly, di nome System.IO.Compression e System.IO.Compression.FileSystem, che permettono di creare, manipolare ed estrarre file Zip. La suddivisione in due assembly è stata fatta per separare classi dedicate alla compressione applicata agli Stream, da quelle dedicate alla compressione applicata a file. Il primo assembly è disponibile con le Portable Class Library, mentre il secondo lo è solo con il framework completo.

L'assembly System.IO.Compression.FileSystem contiene poche, ma efficaci classi. La più importante è ZipFile, che con i suoi metodi CreateFromDirectory e ExtractToDirectory permettono di creare uno Zip dalla cartella o estrarlo. L'utilizzo è molto semplice ed è illustrato in questo script.

// Creo lo zip dalla cartella
// Compressione ottimale e includendo anche la cartella stessa
ZipFile.CreateFromDirectory(@"c:\daComprimere", @"c:\mioZip.zip", CompressionLevel.Optimal, true);

// Estraggo lo zip in un'altra cartella            
ZipFile.ExtractToDirectory(@"c:\mioZip.zip", @"c:\mioZipEstratto");

Come vediamo dal codice, basta indicare il nome della cartella, il file Zip e un booleano che ci permette di indicare se comprimere la cartella stessa o solo i file e le cartelle che contiene.

Rispetto script #115, questo assembly non è legato alle specifiche di Open Packaging Conventions e non genera alcun fine automatico di definizione dei content type.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi