Android™
Android™
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 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 extract a .tar.gz archive to a directory.
CkGzip gzip = new CkGzip();
// The .tar.gz file to be extracted:
String tgzPath = "c:/temp/archive.tar.gz";
// The destination directory:
String destDir = "c:/temp/outputDir";
// Set to true to prevent extraction of files with absolute paths:
boolean noAbsolute = true;
// Extract the archive:
success = gzip.UnTarGz(tgzPath,destDir,noAbsolute);
if (success == false) {
Log.i(TAG, gzip.lastErrorText());
return;
}
Log.i(TAG, "Archive successfully extracted to: " + destDir);
}
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."
}
}