PowerBuilder
PowerBuilder
Extract a .tar.gz Archive to a Directory
See more Gzip Examples
This example demonstrates how to use the UnTarGz method to extract a .tar.gz archive to a specified directory.
The method performs both the Gzip decompression and TAR extraction in a single step. It operates in streaming mode, meaning it does not create temporary files and uses a constant, minimal amount of memory regardless of archive size.
The bNoAbsolute parameter is set to _TRUE_ in this example to prevent extraction of files with absolute paths. This is a safety measure that helps avoid overwriting files in unintended locations (such as system directories).
This method is ideal for efficiently extracting large .tar.gz archives while maintaining security and low memory usage.
Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Gzip
string ls_TgzPath
string ls_DestDir
integer li_NoAbsolute
li_Success = 0
// This example demonstrates how to extract a .tar.gz archive to a directory.
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
// The .tar.gz file to be extracted:
ls_TgzPath = "c:/temp/archive.tar.gz"
// The destination directory:
ls_DestDir = "c:/temp/outputDir"
// Set to 1 to prevent extraction of files with absolute paths:
li_NoAbsolute = 1
// Extract the archive:
li_Success = loo_Gzip.UnTarGz(ls_TgzPath,ls_DestDir,li_NoAbsolute)
if li_Success = 0 then
Write-Debug loo_Gzip.LastErrorText
destroy loo_Gzip
return
end if
Write-Debug "Archive successfully extracted to: " + ls_DestDir
destroy loo_Gzip