![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Unzip a Text File Entry into a StringBuilder Using ZipEntry.UnzipToSbSee more Zip Examples This example demonstrates how to use the The ZIP entry is uncompressed entirely in memory and appended to the StringBuilder without creating a temporary file on disk. This is useful when:
The
The
Suppose the ZIP archive contains: The example inflates the JSON file directly into a
IncludeFile "CkZipEntry.pb" IncludeFile "CkZip.pb" IncludeFile "CkStringBuilder.pb" Procedure ChilkatExample() success.i = 0 zip.i = CkZip::ckCreate() If zip.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Open an existing ZIP archive. success = CkZip::ckOpenZip(zip,"qa_data/zips/configFiles.zip") If success = 0 Debug CkZip::ckLastErrorText(zip) CkZip::ckDispose(zip) ProcedureReturn EndIf ; Locate the JSON file entry within the ZIP archive. entry.i = CkZipEntry::ckCreate() If entry.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkZip::ckEntryOf(zip,"config/settings.json",entry) If success = 0 Debug "ZIP entry not found." CkZip::ckCloseZip(zip) CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) ProcedureReturn EndIf ; ------------------------------------------------------------ ; Inflate the ZIP entry directly into a StringBuilder. ; ; The uncompressed text is appended to the StringBuilder. ; sb.i = CkStringBuilder::ckCreate() If sb.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Leave line endings unchanged. lineEndingBehavior.i = 0 ; Interpret the uncompressed bytes as UTF-8 text. srcCharset.s = "utf-8" success = CkZipEntry::ckUnzipToSb(entry,lineEndingBehavior,srcCharset,sb) If success = 0 Debug CkZipEntry::ckLastErrorText(entry) CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) CkStringBuilder::ckDispose(sb) ProcedureReturn EndIf Debug "Uncompressed text:" Debug "" Debug CkStringBuilder::ckGetAsString(sb) CkZip::ckCloseZip(zip) Debug "Done." CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) CkStringBuilder::ckDispose(sb) ProcedureReturn EndProcedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.