{"id":17241753,"url":"https://github.com/j256/simplezip","last_synced_at":"2026-02-03T16:03:17.111Z","repository":{"id":238765153,"uuid":"797492785","full_name":"j256/simplezip","owner":"j256","description":"Java processing of Zip files that gives full control over all Zip disk structures","archived":false,"fork":false,"pushed_at":"2025-06-12T17:51:01.000Z","size":1246,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T19:46:27.888Z","etag":null,"topics":["compression","java","zip","zipfile"],"latest_commit_sha":null,"homepage":"https://256stuff.com/sources/simplezip/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j256.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-08T00:19:39.000Z","updated_at":"2025-06-12T17:51:05.000Z","dependencies_parsed_at":"2024-05-10T03:27:09.430Z","dependency_job_id":"9e2de6fa-b443-43e1-8b40-af3fca4155c1","html_url":"https://github.com/j256/simplezip","commit_stats":null,"previous_names":["j256/simplezip"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/j256/simplezip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j256%2Fsimplezip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j256%2Fsimplezip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j256%2Fsimplezip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j256%2Fsimplezip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j256","download_url":"https://codeload.github.com/j256/simplezip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j256%2Fsimplezip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29048694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compression","java","zip","zipfile"],"created_at":"2024-10-15T06:11:09.487Z","updated_at":"2026-02-03T16:03:17.105Z","avatar_url":"https://github.com/j256.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Simple Java Zip\n===============\n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.j256.simplezip/simplezip/badge.svg?style=flat-square)](https://maven-badges.herokuapp.com/maven-central/com.j256.simplezip/simplezip/)\n[![javadoc](https://javadoc.io/badge2/com.j256.simplezip/simplezip/javadoc.svg)](https://javadoc.io/doc/com.j256.simplezip/simplezip)\n[![ChangeLog](https://img.shields.io/github/v/release/j256/simplezip?label=changelog\u0026display_name=release)](https://github.com/j256/simplezip/blob/master/src/main/javadoc/doc-files/changelog.txt)\n[![CodeCov](https://img.shields.io/codecov/c/github/j256/simplezip.svg)](https://codecov.io/github/j256/simplezip/)\n[![CircleCI](https://circleci.com/gh/j256/simplezip.svg?style=shield)](https://circleci.com/gh/j256/simplezip)\n[![GitHub License](https://img.shields.io/github/license/j256/simplezip)](https://github.com/j256/simplezip/blob/master/LICENSE.txt)\n\nThis package provides Java classes to read and write Zip files.  There are a number of different libraries that do\nthis (including one built into the JDK) but I've not found any that gave me precise controls over the Zip internal, persisted data structures.  This library allows you to control the output of all Zip data and should allow you to\nread and write Zip files with full precision.\n\nEnjoy.  Gray Watson\n\n# Getting Started\n\n## Reading a Zip File\n\nThe following code runs through all of the Zip-file parts.  `input` could be a file path,\n`File`, or an `InputStream`.\n\n\tZipFileInput zipInput = new ZipFileInput(input);\n\t// readFileHeader() will return null when no more files to read\n\tZipFileHeader header = zipInput.readFileHeader();\n\t// read all of the file bytes into a buffer, can also stream\n\tbyte[] fileBytes = zipInput.readRawFileDataAll();\n\t// can also call readFileDataToFile(File) to write out a file from input\n\t// NOTE: descriptor can be null if none for this file\n\tZipDataDescriptor dataDescriptor = zipInput.getCurrentDataDescriptor();\n\t// repeat reading file headers and data until readFileHeader() returns null\n\t...\n\t// read in the optional central-directory file-headers, null when no more\n\tZipCentralDirectoryFileEntry dirEntry = zipInput.readDirectoryFileEntry();\n\t...\n\t// read in the optional central-directory end data\n\tZipCentralDirectoryEnd end = zipInput.readDirectoryEnd();\n\tzipInput.close();\n\n## Writing a Zip File\n\nThe following code writes out a Zip-file.  `output` could be a file path, `File`,\nor `OutputStream`.\n\n\tZipFileOutput zipOutput = new ZipFileOutput(output);\n\tZipFileHeader header = ZipFileHeader.builder()\n\t\t.withFileName(\"hello.txt\")\n\t\t.withGeneralPurposeFlags(GeneralPurposeFlag.DEFLATING_MAXIMUM)\n\t\t.build();\n\t// write a file-header to the zip-file\n\tzipOutput.writeFileHeader(header);\n\t// add optional central-directory info to the file such as text flag\n\t// this will be written to disk at the end of the zip\n\tzipOutput.addDirectoryFileInfo(\n\t\tZipCentralDirectoryFileInfo.builder().withTextFile(true).build());\n\t// write file data from file, buffer, or InputStream\n\tzipOutput.writeFileDataAll(fileBytes);\n\t// can write more file-headers and data here\n\t...\n\t// this writes the recorded central-directory entries, end, and closes tbe zip\n\tzipOutput.close();\n\n# Maven Configuration\n\nMaven packages are published via [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.j256.simplezip/simplezip/badge.svg?style=flat-square)](https://mvnrepository.com/artifact/com.j256.simplezip/simplezip/latest)\n\n``` xml\n\u003cdependency\u003e\n\t\u003cgroupId\u003ecom.j256.simplezip\u003c/groupId\u003e\n\t\u003cartifactId\u003esimplezip\u003c/artifactId\u003e\n\t\u003cversion\u003e2.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n# Dependencies\n\nSimpleZip has no runtime dependencies.\n\n# ChangeLog Release Notes\n\nSee the [![ChangeLog](https://img.shields.io/github/v/release/j256/simplezip?label=changelog)](https://github.com/j256/simplezip/blob/master/src/main/javadoc/doc-files/changelog.txt)\n\n# References Used to Write this Library\n\nHere are some of the reference documents that were used to write this library.\n\n* [PKWare ZIP File Format Specification](https://pkwaredownloads.blob.core.windows.net/pem/APPNOTE.txt)\n* [Wikipedia Zip file format](https://en.wikipedia.org/wiki/ZIP_(file_format))\n* [DOS/Windows file attributes](http://justsolve.archiveteam.org/wiki/DOS/Windows_file_attributes)\n* [Zip format's external file attribute](https://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute)\n* [Structure of a PKZip file](https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html)\n* [Known types of Zipfile extra fields](https://libzip.org/specifications/extrafld.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj256%2Fsimplezip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj256%2Fsimplezip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj256%2Fsimplezip/lists"}