Imaginsystems


Tecniche di Programmazione - Codici Sorgenti - News Informatiche
Home Blogs | Home | Login | Contact | My Profile | RSS | About | Cerca

VB.NET - CREARE ED ESTRARRE FILE ZIP CON DotNetZip Librery (Codice)

VB.NET - CREARE ED ESTRARRE FILE ZIP CON DotNetZip Librery (Codice)Oggi vi voglio mettere a disposizione un progetto che utilizza la Libreria DotNetZip che permette di creare file Zip e quindi comprimere ma anche Estrarre i file Zip.Ho creato quattro tipi di funzioni : ComprimiFileZip(....) ComprimiArrayFileZip(....) ComprimiAllDirectory(....)        DecomprimereFileZip(....)CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NETImports Ionic.ZipPublic Class ProjectZip  & 
Leggi tutto il post...
Categoria: VB.NET
mercoledì, 24 ott 2012 Ore. 16.59

Scrivi un commento

Nome:
Blog:
E-Mail:
(l'indirizzo e-mail non verrà pubblicato, consente di essere avvertiti quando arrivano nuovi commenti a questo Post)
Codice:
Corpo:
Cookie:

Commenti

Autore: StefanoInviato il: 08 nov 2013 - 11.31
Ciao e complementi per il post..

se voglio cambiare l'algoritmo di compressione ad esempio : BZip2 - LZMA - PPMd, come devo fare ??

e per decomprimere ?

ho fatto una prova con la funzione DecomprimereFileZip utilizzando un zip con compressione PPMd non funziona
Autore: DavideInviato il: 11 nov 2013 - 16.17
Ciao e grazie del complimento.

Come prima cosa devi importare solo la libreria Ionic.Zip.dll e Ionic.Zib.dll , quindi li aggiungi nei riferimenti . Non importare anche la libreria Ionic.BZip2.dll perché se no si crea un conflitto se utilizzi la BZip2OutputStream che poi ti spiego a cosa serve..

Per prima cosa puoi usare questo per comprimere una cartella (Direcotry) :

Come richiamare la funzione :

C# :
ComprimiAllFileZip(@"C:\Documenti", @"C:\prova_ZIP.bz2");
ComprimiAllFileZip(@"C:\Documenti", @"C:\prova_ZIP_Password.bz2", "123");

VB.NET :
ComprimiAllFileZip("C:\Documenti", "C:\prova_ZIP.bz2")
ComprimiAllFileZip("C:\Documenti" ,"C:\prova_ZIP_Password.bz2", "123")


Codice C# :

private void ComprimiAllFileZip(string Directory, string zipFileToCreate, string password = null)
{
string DirecotryName = Path.GetFileName(Directory);
using (ZipFile zip = new ZipFile())
{
if (password != null)
{
zip.Password = Password;
}
//zip.AddDirectory(@"MyDocuments\ProjectX", "ProjectX");
zip.AddDirectory(Directory, DirecotryName);
zip.Comment = "Qursto file è stato creato il " + System.DateTime.Now.ToString("G");
zip.CompressionMethod = CompressionMethod.BZip2;
zip.Save(zipFileToCreate);
}
}

Codice in VB :

Private Sub ComprimiAllFileZip(ByVal Directory As String, ByVal zipFileToCreate As String, Optional ByVal Password As String = Nothing)

Dim DirecotryName As String = Path.GetFileName(Directory)

Using zip As New ZipFile()
If (Password IsNot Nothing) Then
zip.Password = Password
End If
'zip.AddDirectory(@"MyDocuments\ProjectX", "ProjectX");
zip.AddDirectory(Directory, DirecotryName)
zip.Comment = "Qursto file è stato creato il " & System.DateTime.Now.ToString("G")
zip.CompressionMethod = CompressionMethod.BZip2
zip.Save(zipFileToCreate)
End Using

End Sub

Per decomprimere devi fare questo :

C#
EstrarreAllFileZipPassowrd(@"C:\prova_ZIP_Password.bz2",@"C:\Estrai","123");

VB
EstrarreAllFileZipPassowrd("C:\prova_ZIP_Password.bz2","C:\Estrai","123")

C#
private void EstrarreAllFileZipPassowrd(string ExistingZipFile, string BaseDirectory, string Password = null)
{
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
foreach (ZipEntry e in zip)
{
if (Password != null)
{
e.ExtractWithPassword(BaseDirectory, Password);
}
else
{
e.CompressionMethod = CompressionMethod.BZip2;
e.Extract(BaseDirectory, ExtractExistingFileAction.OverwriteSilently);
}
}
}
}

VB.NET
Private Sub EstrarreAllFileZipPassowrd(ByVal ExistingZipFile As String, ByVal BaseDirectory As String, Optional ByVal Password As String = Nothing)
Using zip As ZipFile = ZipFile.Read(ExistingZipFile)
For Each e As ZipEntry In zip
If Password IsNot Nothing Then
e.ExtractWithPassword(BaseDirectory, Password)
Else
e.CompressionMethod = CompressionMethod.BZip2
e.Extract(BaseDirectory, ExtractExistingFileAction.OverwriteSilently)
End If
Next
End Using
End Sub

Se ho tempo creo un articolo che aggiungo anche le altr
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003