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 politiche di resiliency con Azure Container App
Assegnare un valore di default a un parametro di una lambda in C#
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Creare una libreria CSS universale: Clip-path
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Eseguire le GitHub Actions offline
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Gestire liste di tipi semplici con Entity Framework Core
Potenziare Azure AI Search con la ricerca vettoriale
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
I più letti di oggi
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- Chiamare direttamente un numero di telefono con HTML5
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView