Scompattare un file zip

by Andrea 04 July 2007 12:07

In un progettino che stò sviluppando avevo la necessità di fare l'upload e scompattare un archivio zip. Per fare ciò mi sono appoggiato alla liberia #ziplib che si è dimostrata di una facilità estrema, infatti con poche righe di codice sono riuscito nel mio intento:

/// <summary>
/// Unzip the zip file.
/// </summary>
/// <param name="fileZipPath">The path of file zip.</param>
private void UnZipFile(string fileZipPath)
{
    using (ZipInputStream s = new ZipInputStream(File.OpenRead(fileZipPath)))
    {
        ZipEntry entry;
        while ((entry = s.GetNextEntry()) != null)
        {
            // Prelevo solo il nome del file all'interno dello zip
            string fileName = Path.GetFileName(entry.Name);
            // Combino il path su disco con quello che il file ha all'interno del file zip
            string filePath = Path.Combine(Path.GetDirectoryName(fileZipPath), entry.Name);
            // Se la directory non esiste la creo
            if (!Directory.Exists(Path.GetDirectoryName(filePath)))
                Directory.CreateDirectory(filePath);
 
            if (fileName != String.Empty)
                using (FileStream streamWriter = File.Create(filePath))
                {
                    int size = 2048;
                    byte[] data = new byte[2048];
                    while (true)
                    {
                        size = s.Read(data, 0, data.Length);
                        if (size > 0)
                        {
                            streamWriter.Write(data, 0, size);
                        }
                        else
                        {
                            break;
                        }
                    }
                }
        }
    }
}

Credo (appena avrò tempo) di  approfondire un pò meglio questa libreria perchè mi sembra proprio fatta bene.
Ecco il link alla pagina di downlad.

Technorati tags: , ,

Tags:

.NET

Comments

05/07/2007 00:07 #

@Antonio:

ne avevo parlato in un precedente post(www.ilsilenziodiunurlo.com/.../" rel="nofollow">www.ilsilenziodiunurlo.com/.../). Si chiama Windows Live Writer ed è ancora in beta, ma funziona benone. Ti permette di caricare le immagini, colorare il testo, e ha molti plugin che aggiungono moltissime funzionalità.

Ti consiglio di provarlo, e vedrai che ti troverai subito bene.


@Alice: grazie mille per la segnalazione. Ciao ;)



          

Andrea |

05/07/2007 09:07 #

[ot] Solo una nota per informarti che Visioni Binarie lo sto spostando http://www.visionibinarie.it" rel="nofollow">qui
- se puoi modifica il link! Grazie. Un bacione. Alice
          

alice |

05/07/2007 17:07 #

Ciao, ti scrivo per chiederti una cosa inerente al contenuto di questo articolo ma non al suo significato. Mi spiego subito meglio.
Utilizzi un plugin per inserire nei post codice sorgente correttamente colorato e formattato?
Grazie Mille
          

Antonio Ferraioli |

Comments are closed