Android™
Android™
Exclude Multiple Directories When Adding Files to a ZIP
See more Zip Examples
This example demonstrates how to use the ExcludeDir method to exclude specific directory names when recursively adding files to a ZIP archive.
The ExcludeDir method excludes directories by name. Any directory matching an excluded name is skipped entirely, including all files and subdirectories beneath it.
This is useful for excluding directories such as:
-
.git -
node_modules -
bin -
obj - Temporary or cache directories
Call ExcludeDir once for each directory name to exclude.
Suppose the local filesystem contains:
c:/project/src/main.cpp
c:/project/src/util.cpp
c:/project/bin/app.exe
c:/project/obj/main.obj
c:/project/.git/config
c:/project/node_modules/library/index.js After excluding bin, obj, .git, and node_modules, only the files beneath src are added to the ZIP archive.
The resulting ZIP archive contains:
project/src/main.cpp
project/src/util.cpp
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;
CkZip zip = new CkZip();
success = zip.NewZip("project.zip");
if (success == false) {
Log.i(TAG, zip.lastErrorText());
return;
}
// Exclude several directory names.
//
// Any directory matching one of these names will be skipped
// during recursive file appending.
zip.ExcludeDir("bin");
zip.ExcludeDir("obj");
zip.ExcludeDir(".git");
zip.ExcludeDir("node_modules");
// Recursively append all files beneath c:/project.
//
// Because saveExtraPath = true, the ZIP paths will
// include "project/" as the leading directory.
boolean recurse = true;
boolean saveExtraPath = true;
boolean archiveOnly = false;
boolean includeHidden = true;
boolean includeSystem = false;
success = zip.AppendFilesEx("c:/project",recurse,saveExtraPath,archiveOnly,includeHidden,includeSystem);
if (success == false) {
Log.i(TAG, zip.lastErrorText());
return;
}
// Write the ZIP archive.
success = zip.WriteZipAndClose();
if (success == false) {
Log.i(TAG, zip.lastErrorText());
return;
}
Log.i(TAG, "ZIP archive created successfully.");
}
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."
}
}