📄 formgzip.vb
字号:
Imports System
Imports System.IO
Imports System.IO.Compression
Public Class FormGZip
Private intFileLength As Integer = 3600
Private Sub btnDFile_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDFile.Click
If FBDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
txtPath.Text = FBDialog.SelectedPath
End If
End Sub
Private Sub btnSFile_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSFile.Click
If OFDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
txtFile.Text = OFDialog.FileName
End If
End Sub
Private Sub btnCom_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCom.Click
Me.doCompress(txtFile.Text)
End Sub
Private Sub btnDCom_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDCom.Click
Me.doDeCompress(txtFile.Text)
End Sub
Private Sub doCompress(ByVal filePath As String)
Dim myFileStrweam As FileStream
Dim myMemoryStream As New MemoryStream
Dim myComFileStream As FileStream
Dim myGZipStream As GZipStream
Dim fileLength As Integer
Try
myFileStrweam = New FileStream( _
filePath, FileMode.Open, FileAccess.Read, FileShare.Read)
fileLength = myFileStrweam.Length
Dim bufferdata(fileLength - 1) As Byte
myFileStrweam.Read(bufferdata, 0, fileLength)
myFileStrweam.Close()
myGZipStream = New _
GZipStream(myMemoryStream, CompressionMode.Compress, True)
myGZipStream.Write(bufferdata, 0, fileLength)
myGZipStream.Close()
Dim myComBufferdata(myMemoryStream.Length - 1) As Byte
myMemoryStream.Position = 0
myMemoryStream.Read(myComBufferdata, 0, myMemoryStream.Length)
myComFileStream = New _
FileStream(txtPath.Text, FileMode.Create, FileAccess.Write)
myComFileStream.Write(myComBufferdata, 0, myComBufferdata.Length)
myComFileStream.Close()
MessageBox.Show("数据压缩完成 !!")
intFileLength = fileLength
txtfl.Text = fileLength
comfl.Text = myMemoryStream.Length
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Private Sub doDeCompress(ByVal filePath As String)
Dim myFileStream As FileStream
Dim myDeComFileStream As FileStream
Dim myGZipStream As GZipStream
Dim sfileLength As Integer
Dim fileLength As Integer
Try
myFileStream = New FileStream( _
filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
myDeComFileStream = New FileStream( _
txtPath.Text, FileMode.Create, FileAccess.ReadWrite)
sfileLength = myFileStream.Length
myGZipStream = New GZipStream(myFileStream, CompressionMode.Decompress)
Dim myBuffer(intFileLength) As Byte
fileLength = myGZipStream.Read(myBuffer, 0, intFileLength)
myDeComFileStream.Write(myBuffer, 0, myBuffer.Length)
myFileStream.Close()
myDeComFileStream.Close()
myGZipStream.Close()
MessageBox.Show("数据解压缩完成 !!")
MessageBox.Show(System.Text.Encoding.UTF8.GetString(myBuffer))
txtfl.Text = sfileLength
comfl.Text = fileLength
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -