Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

.NET Core C# Examples


ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)
Java KeyStore (JKS)

Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
VoiceBase
Walmart
WebSocket
XAdES
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(.NET Core C#) Unzip Binary File to Stream

Demonstrates how to unzip a large binary file to a stream to allow the application to process the uncompressed bytes chunk by chunk.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat .NET Downloads

Chilkat .NET Assemblies

Chilkat for .NET Core

Chilkat for Mono

//  This requires the Chilkat Zip API to have been previously unlocked.
//  See Unlock Chilkat Zip for sample code.

Chilkat.Zip zip = new Chilkat.Zip();

//  First open a .zip.
bool success = zip.OpenZip("qa_data/zips/big.zip");
if (success != true) {
    Debug.WriteLine(zip.LastErrorText);
    return;
}

//  Get the entry to be unzipped to a stream..
Chilkat.ZipEntry entry = zip.GetEntryByIndex(0);
if (zip.LastMethodSuccess != true) {
    Debug.WriteLine(zip.LastErrorText);
    return;
}

Chilkat.Stream dataStream = new Chilkat.Stream();

Chilkat.Task unzipTask = entry.UnzipToStreamAsync(dataStream);
if (entry.LastMethodSuccess != true) {
    Debug.WriteLine(entry.LastErrorText);

    return;
}

//  Start the background unzip thread.
unzipTask.Run();

//  We'll read the uncompressed data chunk-by-chunk and write to an output file.
Chilkat.FileAccess fac = new Chilkat.FileAccess();
success = fac.OpenForWrite("qa_output/out.dat");
if (success != true) {
    Debug.WriteLine(fac.LastErrorText);

    return;
}

//  Read the stream.  (this is reading the unzipped file data)
Chilkat.BinData bd = new Chilkat.BinData();
while (dataStream.EndOfStream != true) {
    //  Get the next chunk of decompressed bytes.
    dataStream.ReadBd(bd);
    //  Do something with it..
    //  In this simple example, we'll just write to the file.
    fac.FileWriteBd(bd,0,0);
    //  Clear for the next read.
    bd.Clear();
}

fac.FileClose();

Debug.WriteLine("Success.");

 

© 2000-2016 Chilkat Software, Inc. All Rights Reserved.