vb.net在內存中解壓文件

2017-09-08 21:52:00
網絡摘録
轉貼
899

vb.net在內存中解壓文件

Public Class Form1
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        '保存壓縮文件
        Dim fso As New SaveFileDialog
        If fso.ShowDialog = Windows.Forms.DialogResult.OK Then
            GzipFile(fso.FileName)
        End If
 
    End Sub
    Private Sub GzipFile(ByVal FileName As String)
        Try
            '定義文件流,用於寫入壓縮流
            Dim fs As FileStream = New FileStream(FileName, FileMode.Create, FileAccess.Write)
            '定義壓縮流,用於壓縮數據
            Dim compressStream = New GZipStream(fs, CompressionMode.Compress, False)
            '定義寫入操作流,用於曏壓縮流寫入數據
            Dim sw As StreamWriter = New StreamWriter(compressStream, System.Text.Encoding.GetEncoding("GB2312"))
            sw.WriteLine(Me.RichTextBox1.Text)
            sw.Close()
            MsgBox("壓縮文件成功")
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
    Private Function Decompress(ByVal FileName As String)
        Dim DeCompressStr As String = ""
        '定義文件流,用於讀取數據
        Dim fs As New FileStream(FileName, FileMode.Open, FileAccess.Read)
        '定義壓縮流,用於解壓縮,生成解壓流
        Dim DecomprssStream As New GZipStream(fs, CompressionMode.Decompress, False)
        '定義讀取操作流,用於從壓縮流讀取數據
        Dim sr As New StreamReader(DecomprssStream, System.Text.Encoding.GetEncoding("GB2312"))
        '返迴讀取齣的內容()
        DeCompressStr = sr.ReadToEnd
        sr.Close()
        Return DeCompressStr
    End Function
 
    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        '打開壓縮的文件,以讀取其內容
        Dim fso As New OpenFileDialog
        If fso.ShowDialog = Windows.Forms.DialogResult.OK Then
            Me.RichTextBox1.Text = Decompress(fso.FileName)
            MsgBox("解壓內容完成")
        End If
    End Sub
End Class

分享