Sample code for 30+ languages & platforms
PowerBuilder

Compress a File to Gzip in Memory using BinData

See more Gzip Examples

This example demonstrates how to use the CompressFileBd method to compress a file into Gzip format and store the compressed result in memory using a BinData object.

The input file is read from disk and compressed, with the resulting .gz data placed in the BinData instance. This allows your application to work with the compressed data entirely in memory before deciding what to do next.

Finally, the example shows how the in-memory Gzip data can be written to a file, which is useful for saving or distributing the compressed output.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Gzip
oleobject loo_Bd
string ls_FilePath

li_Success = 0

// This example demonstrates how to compress a file into Gzip format
// and store the compressed result in a BinData object (in memory).

loo_Gzip = create oleobject
li_rc = loo_Gzip.ConnectToNewObject("Chilkat.Gzip")
if li_rc < 0 then
    destroy loo_Gzip
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Bd = create oleobject
li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData")

// The file to be compressed:
ls_FilePath = "example.txt"

// Compress the file into the BinData object:
li_Success = loo_Gzip.CompressFileBd(ls_FilePath,loo_Bd)
if li_Success = 0 then
    Write-Debug loo_Gzip.LastErrorText
    destroy loo_Gzip
    destroy loo_Bd
    return
end if

// At this point, "bd" contains the Gzip-compressed data in memory.
Write-Debug "Compression successful."
Write-Debug "Compressed size (bytes): " + string(loo_Bd.NumBytes)

// (Optional) Save the in-memory Gzip data to a file:
li_Success = loo_Bd.WriteFile("example.txt.gz")
if li_Success = 0 then
    Write-Debug loo_Bd.LastErrorText
    destroy loo_Gzip
    destroy loo_Bd
    return
end if

Write-Debug "Gzip file written to example.txt.gz"


destroy loo_Gzip
destroy loo_Bd