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 i command service nei test con .NET Aspire
Gestire trasferimenti cloud con Azure Storage Mover
Interazione con ReconnectModal in Blazor
Importare un servizio esterno in .NET Aspire
Ricerca delle GitHub issue tramite operatori logici
Introduzione a GitHub Copilot CLI
Utilizzo del persistent state di Blazor nel prerendering
Montare Azure Blob Storage su Linux con BlobFuse2
Usare i generics di C# con la clausola nameof in modo semplificato
Creare una file based app con C#
Supporto nativo a JSON in SQL Server 2025
Testare il failover sulle region in Azure Storage




