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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Azure Cosmos DB con i vettori
Sfruttare al massimo i topic space di Event Grid MQTT
Code scanning e advanced security con Azure DevOps
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Short-circuiting della Pipeline in ASP.NET Core
Eseguire le GitHub Actions offline
Gestire il colore CSS con HWB
Miglioramenti nelle performance di Angular 16
Generare un hash con SHA-3 in .NET
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Miglioramenti nell'accessibilità con Angular CDK
Configurare policy CORS in Azure Container Apps