⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formgzip.vb

📁 应用VB.net开发
💻 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 + -