zip
Here is a simple example of how to use Compress4J to create and extract zip files:
Example Usage
Zip Creation
try (ZipArchiveCreator zipCreator = ZipArchiveCreator.builder(Path.of("example.zip"))
.compressionLevel(9)
.compressionMethod(DEFLATED)
.setEncoding(StandardCharsets.UTF_8.name())
.setUseZip64(Zip64Mode.AsNeeded)
.setComment("This is a zip comment")
.setCreateUnicodeExtraFields(ZipArchiveOutputStream.UnicodeExtraFieldPolicy.ALWAYS)
.build()) {
zipCreator.addFile(Path.of("path/to/file.txt"));
zipCreator.addDirectoryRecursively(Path.of("sourceDir"));
}
Zip Extraction
try (ZipArchiveExtractor zipExtractor = ZipArchiveExtractor.builder(Path.of("example.zip"))
.overwrite(true)
.stripComponents(1)
.setIgnoreLocalFileHeader(true)
.setUseUnicodeExtraFields(true)
.filter(entry -> entry.name().endsWith(".txt"))
.errorHandler((entry, exception) -> SKIP)
.escapingSymlinkPolicy(ArchiveExtractor.EscapingSymlinkPolicy.DISALLOW)
.build()) {
zipExtractor.extract(Path.of("outputDir"));
}