Java Requires Chilkat v11.0.0+
Chilkat2 Java
Unzip Some Files by Iterating over Entries
See more Zip Examples
Demonstrates how to unzip specific files by iterating over entries in a .zip.Chilkat Java Downloads
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.StringBuilder;
import com.chilkatsoft.chilkat2.Zip;
import com.chilkatsoft.chilkat2.ZipEntry;
public class ChilkatExample {
public static void main(String[] args) {
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Zip zip = new Zip();
// Open a .zip containing:
//
// a1.xml
// b1.xml
// c1.xml
// dir1/a2.xml
// dir1/c2.xml
// dir2/dir3/c3.xml
// We wish to unzip only a1.xml, b1.xml, and c1.xml
try {
zip.openZip("qa_data/zips/xml_files.zip");
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
StringBuilder sbFilename = new StringBuilder();
ZipEntry entry = new ZipEntry();
int numEntries = zip.getNumEntries();
int i = 0;
while (i < numEntries) {
zip.entryAt(i, entry);
String entryFilePath = entry.getFileName();
System.out.println(entryFilePath);
if (!entry.getIsDirectory()) {
sbFilename.setString(entryFilePath);
if (!sbFilename.contains("/", false)) {
// Does not contain "/"
// Unzip to the qa_output directory.
try {
entry.extract("qa_output");
System.out.println("Unzipped " + entryFilePath);
} catch (ChilkatException e) {
System.out.println("Failed to unzip " + entryFilePath);
}
}
}
i = i + 1;
}
}
}