Public Function DecompressFile(ByRef inputFileName As String, ByRef destFileName As String, ByRef destDirectory As String) As Boolean Try 'Create a MemoryStream from the file bytes Dim stream As New MemoryStream(File.ReadAllBytes(inputFileName)) 'Create a new GZipStream from the MemoryStream Dim gZip As New GZipStream(stream, CompressionMode.Decompress) 'Byte array to hold bytes Dim buffer(3) As Byte 'Read the stream stream.Position = stream.Length - 5 stream.Read(buffer, 0, 4) 'Calculate the size of the decompressed bytes Dim size As Integer = BitConverter.ToInt32(buffer, 0) 'Start at the beginning of the stream stream.Position = 0 Dim decompressed(size - 1) As Byte 'Read decompressed bytes into byte array gZip.Read(decompressed, 0, size) 'Close & clean up gZip.Dispose() stream.Dispose() 'Write the final file File.WriteAllBytes(destDirectory & "\" & destFileName, decompressed) Return True Catch ex As Exception MessageBox.Show(ex.ToString()) Return False End Try End Function
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)