Visual Basic 6.0
Visual Basic 6.0
Compressing and Decompressing Files Using Streaming (CompressFile / DecompressFile)
See more Compression Examples
This example demonstrates how to compress a file to a binary format and then restore it using the Chilkat.Compression class. The CompressFile method reads the source file, compresses it using the specified algorithm, and writes the result to a destination file. The DecompressFile method performs the reverse operation, restoring the original file from the compressed data.
Both operations are performed internally in streaming mode, allowing files of any size to be processed efficiently without loading the entire file into memory. The example also includes a simple verification step by comparing file sizes to confirm that the decompressed output matches the original input.
Chilkat Visual Basic 6.0 Downloads
Dim success As Long
success = 0
' This example assumes the Chilkat API has already been unlocked.
' See Global Unlock Sample for sample code.
Dim compress As New ChilkatCompression
' Use the zlib algorithm (recommended for general use)
compress.Algorithm = "zlib"
' ------------------------------------------------------------------
' Compress a file
' ------------------------------------------------------------------
Dim inputFile As String
inputFile = "c:/temp/example.txt"
Dim compressedFile As String
compressedFile = "c:/temp/example.txt.zlib"
success = compress.CompressFile(inputFile,compressedFile)
If (success = 0) Then
Debug.Print "Compression failed:"
Debug.Print compress.LastErrorText
Exit Sub
End If
Debug.Print "File compressed successfully:"
Debug.Print " Input: " & inputFile
Debug.Print " Compressed: " & compressedFile
' ------------------------------------------------------------------
' Decompress the file back to its original form
' ------------------------------------------------------------------
Dim decompressedFile As String
decompressedFile = "c:/temp/example_restored.txt"
success = compress.DecompressFile(compressedFile,decompressedFile)
If (success = 0) Then
Debug.Print "Decompression failed:"
Debug.Print compress.LastErrorText
Exit Sub
End If
Debug.Print "File decompressed successfully:"
Debug.Print " Output: " & decompressedFile
' ------------------------------------------------------------------
' Optional: Verify file sizes (basic sanity check)
' ------------------------------------------------------------------
Dim fac As New CkFileAccess
Dim originalSize As Long
originalSize = fac.FileSize(inputFile)
Dim restoredSize As Long
restoredSize = fac.FileSize(decompressedFile)
Debug.Print "Original file size: " & originalSize
Debug.Print "Restored file size: " & restoredSize
If (originalSize = restoredSize) Then
Debug.Print "Sizes match (basic verification successful)."
Else
Debug.Print "Warning: File sizes differ."
End If