martedì 18 febbraio 2025

C# estrae un determinato file da un file compresso di tipo zip tramite la classe ZipArchive

Il frammento di codice qui di seguito, illustra una tecnica per estrapolare un file da un file compresso filtrando per il tipo di estensione.
In particolare, in un file di tipo ".zip", viene estratto tutti quei file di tipo ".png", il tutto tramite il linguaggio di programmazione C# e la classe ZipArchive.



Namespace:

using System.IO.Compression;


C#

private void BtnEstraiSingleFile_Click(object sender, EventArgs e)

{

    using (ZipArchive archivioZip = ZipFile.OpenRead(@"C:\varie\FileZip.zip"))

    {

        foreach (ZipArchiveEntry elemento in archivioZip.Entries)

        {

            if (elemento.FullName.EndsWith(".png", StringComparison.OrdinalIgnoreCase))

            {

                //Percorso e nome file dove estrapolare il file

                string percorsoDestinazione = Path.GetFullPath(Path.Combine(@"C:\varie\Decomprimi", elemento.FullName));

 

                //Estrapolo il file solo se il percorso di destinazione inizia con la cartella Decomprimi

                if (percorsoDestinazione.StartsWith(@"C:\varie\Decomprimi", StringComparison.Ordinal))

                    elemento.ExtractToFile(percorsoDestinazione);

            }

        }

    }

}


Nessun commento: