Mr. Webmaster Menu
  • Home
  • Cerca
  • Didattica
    • A
    • Android
    • Apache
    • Apple
    • ASP
    • ASP.Net
    • C
    • Cloud
    • CMS
    • CSS
    • D
    • Database
    • E
    • Editor
    • G
    • Grafica
    • H
    • Hosting
    • HTML
    • J
    • Java
    • Javascript
    • jQuery
    • L
    • Leggi e Fisco
    • Linux
    • M
    • Mobile
    • MySQL
    • N
    • NET Framework
    • P
    • Photoshop
    • PHP
    • Primi Passi
    • Programmazione
    • R
    • Reti
    • Ruby
    • S
    • Sicurezza
    • Social Media
    • SQL
    • W
    • Web Design
    • Web Marketing
    • Web Server
    • Windows
    • WordPress
    • X
    • XML
    • Di tendenza
    • Android Studio
    • Bootstrap
    • GDPR
    • Hosting Wordpress
    • Node.js
    • Registrazione Domini
  • Download
    • Software
    • Script
    • Plugin CMS
    • Flash Movies
    • Sound Loops
    • Templates
    • Web Grafica
    • Font Gratis
  • Risorse
    • SEO Tools
    • WebApps
  • News
  • Blog
  • Forum
  • Network
    • Toolset.it
    • SiteMarket.it
    • Codalo.it
  • Corsi on-line
Mr. Webmaster → NET Framework → Articoli → C# → Comprimere e decomprimere file in C#

Comprimere e decomprimere file in C#

  • CommentaScrivi un commento
  • ForumDiscuti sul forum
  • PrecedenteComprimere e decomprimere file in C#
    Pagina 2 di 3
  • Pubblicato il
  • 26/03/2014
  • Autore
  • Vincenzo Gaglio

Dopo aver creato il file zip si possono aggiungere tutti i file al suo interno tramite il metodo CreateEntryFromFile. Questo metodo richiede tre parametri: nome del file, percorso del file e livello di compressione (CompressionLevel). Il livello di compressione stabilisce se il tipo di compressione debba essere ottimizzata per velocità o dimensioni. I valori possibili sono Optimal, Fastest e NoCompression. Nel nostro caso ho selezionato il valore Optimal che significa compressione massima possibile, ma in maggior tempo. Il valore Fastest indica una compressione veloce ma non molto efficiente, mentre il valore NoCompression significa che sui file di origine non viene effettuata alcuna compressione. Ricordiamoci sempre di chiamare il metodo Dispose per gli oggetti ZipArchive.Andiamo adesso a vedere il codice da inserire all'interno del gestore dell'evento click del pulsante Apri (apriBtn_Click) per fare in modo che l'utente possa selezionare un file zip e visualizzare i file contenuti al suo interno

private void apriBtn_Click(object sender, EventArgs e)
{
  DialogResult result = openFileDialog1.ShowDialog();  
    
  if (result == DialogResult.OK)  
  {    
    ZipArchive zip = ZipFile.OpenRead(openFileDialog1.FileName);    
    listaFileLb.Items.Clear();    
        
    foreach (ZipArchiveEntry entry in zip.Entries)
    {
      listaFileLb.Items.Add(entry.FullName);   
    }  
  }
}

In questo caso utilizziamo il metodo OpenRead della classe ZipFile, che serve per aprire in lettura un file zip esistente. Tale metodo restituisce una collezione di oggetti ZipArchiveEntry, iterando sulla quale (tramite un ciclo foreach) possiamo ottenere il nome dei file contenuti nel file compresso e visualizzarli all'interno della ListBox.

Continua dopo la pubblicità...

Infine andiamo a vedere il codice da inserire all'interno del gestore dell'evento click del pulsante Estrai (estraiBtn_Click)

private void estraiBtn_Click(object sender, EventArgs e)
{
  DialogResult result = openFileDialog1.ShowDialog();  
    
  if (result == DialogResult.OK)  
  {    
    percorsoEstrazioneTb.Text = openFileDialog1.FileName;    
        
    DialogResult result2 = folderBrowserDialog1.ShowDialog();    
        
    if (result2 == DialogResult.OK)    
    {      
      ZipFile.ExtractToDirectory(openFileDialog1.FileName, folderBrowserDialog1.SelectedPath);      
      MessageBox.Show("Il file ZIP è stato estratto correttamente.");    
    }  
  }
}

Per estrarre il contenuto di un file zip esistente dobbiamo utilizzare il metodo ExtractToDirectory della classe ZipFile. Tale metodo richiede due parametri: il percorso del file compresso e il percorso della cartella di destinazione del contenuto.

Dopo aver implementato i suddetti metodi possiamo avviare e testare la nostra applicazione.

  • ←
  • 1
  • 2
  • 3

Naviga tra i contenuti

← Collections in C#
→ Creare e gestire email in C#

Commenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.
  • Facebook
  • Twitter
  • Google+
  • YouTube
  • Feed RSS
Frequenta i nostri corsi
  • Corso ASP.NETCorso ASP.NET
    Corso completo per la creazione di applicazioni Web. A partire da 49 €
  • Corso Creare app per Windows PhoneCorso Creare app per Windows Phone
    Sviluppare applicazioni per smartphone basati su Windows Phone. A partire da 49 €
  • Corso VB.NETCorso VB.NET
    Realizzare applicazioni Desktop con Visual Basic .NET. A partire da 49 €
Vedi anche...
  • Gestione dei numeri a virgola mobile in C#
  • Accorgimenti per la scrittura di codice efficiente in C#
  • Ottenere informazioni sull'hard disk tramite WMI in C#
  • Metodi di parsing di date in C#
  • Creare e gestire form MDI in C#
Guide
  • Guida C#
  • Guida VB.Net
Mr. Webmaster
  • RSS
  • Contattaci
  • Torna su
IKIweb
© 2003 - 2019 Mr. Webmaster
Mr. Webmaster ® è un marchio registrato.
E' vietata ogni forma di riproduzione.
IKIweb Internet Media S.r.l. - P.IVA 02848390122

Parliamo di noi: chi siamo / cronologia
Contatti: pubblicità / contattaci / segnala abusi
Note Legali: condizioni d'uso / privacy / cookie
Altro: sondaggi / feed