PureBasic
PureBasic
Decompress Gzip Data from BinData Directly to a File
See more Gzip Examples
This example demonstrates how to use the UncompressBdToFile method to decompress Gzip data stored in a BinData object and write the uncompressed output directly to a file.
The compressed .gz data is first loaded into memory using a BinData object. The UncompressBdToFile method then decompresses the data and writes the result directly to the specified file, without modifying the contents of the BinData object.
This approach is useful when you want to extract compressed data to disk without performing an in-place transformation or managing intermediate buffers.
Chilkat PureBasic Downloads
IncludeFile "CkGzip.pb"
IncludeFile "CkBinData.pb"
Procedure ChilkatExample()
success.i = 0
; This example demonstrates how to decompress Gzip data stored in a BinData object
; and write the uncompressed output directly to a file.
gzip.i = CkGzip::ckCreate()
If gzip.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
bd.i = CkBinData::ckCreate()
If bd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Load a .gz file into BinData:
success = CkBinData::ckLoadFile(bd,"example.txt.gz")
If success = 0
Debug CkBinData::ckLastErrorText(bd)
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(bd)
ProcedureReturn
EndIf
Debug "Loaded Gzip data into memory."
; Uncompress the Gzip data and write directly to a file:
success = CkGzip::ckUncompressBdToFile(gzip,bd,"example.txt")
If success = 0
Debug CkGzip::ckLastErrorText(gzip)
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(bd)
ProcedureReturn
EndIf
Debug "File successfully uncompressed to example.txt"
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(bd)
ProcedureReturn
EndProcedure