Compactar e descompactar arquivos usando VB.Net 2005
Nessa dica o Agnaldo mostra como usar o GZipStream para compactar e descompactar arquivos.
Compactar e descompactar arquivos usando VB.Net 2005
Problema do aluno: Como crio um arquivo ZIP ou abro o mesmo usando o VB.Net 2005?
Solução: Criei um projeto chamado exemploCompressao do tipo Windows Application e, nele, posicionei 2 buttons, como na figura abaixo:
O código para compactar e descompactar que criei, usando o GZipStream, foi:
Imports System.IO
Imports System.IO.Compression
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ofd As New OpenFileDialog()
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim arquivoOriginal() As Byte = File.ReadAllBytes(ofd.FileName)
Dim arquivoDestino As FileStream = File.Create(ofd.FileName & “.ZIP”)
Dim zip As New GZipStream(arquivoDestino, CompressionMode.Compress, False)
zip.Write(arquivoOriginal, 0, arquivoOriginal.Length)
zip.Close()
MessageBox.Show(“Compactei!!!”)
Else
MessageBox.Show(“Escolha um arquivo, fiote”, “ERRO!!!”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim ofd As New OpenFileDialog()
ofd.Filter = “arquivos zipados|*.zip”
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim arquivoOriginal As FileStream = File.OpenRead(ofd.FileName)
Dim arquivoDestino As FileStream = File.Create(ofd.FileName.Replace(“.ZIP”, “”))
Dim zip As New GZipStream(arquivoOriginal, CompressionMode.Decompress, False)
Dim arquivoEmBytes((Convert.ToInt32(arquivoOriginal.Length))) As Byte
Dim qtdBytes As Int32 = zip.Read(arquivoEmBytes, 0, arquivoEmBytes.Length)
arquivoDestino.Write(arquivoEmBytes, 0, qtdBytes)
zip.Close()
arquivoDestino.Close()
MessageBox.Show(“Descompactei”)
Else
MessageBox.Show(“Escolha um arquivo, fiote”, “ERRO!!!”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub
End Class
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo