Android™
Android™
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 Android™ Downloads
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
private static final String TAG = "Chilkat";
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean success = false;
// This example demonstrates how to compress a file into Gzip format
// and store the compressed result in a BinData object (in memory).
CkGzip gzip = new CkGzip();
CkBinData bd = new CkBinData();
// The file to be compressed:
String filePath = "example.txt";
// Compress the file into the BinData object:
success = gzip.CompressFileBd(filePath,bd);
if (success == false) {
Log.i(TAG, gzip.lastErrorText());
return;
}
// At this point, "bd" contains the Gzip-compressed data in memory.
Log.i(TAG, "Compression successful.");
Log.i(TAG, "Compressed size (bytes): " + String.valueOf(bd.get_NumBytes()));
// (Optional) Save the in-memory Gzip data to a file:
success = bd.WriteFile("example.txt.gz");
if (success == false) {
Log.i(TAG, bd.lastErrorText());
return;
}
Log.i(TAG, "Gzip file written to example.txt.gz");
}
static {
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}