Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.13 KB

README.md

File metadata and controls

41 lines (31 loc) · 1.13 KB

Go zip library

This project is based on the archive/zip Go standard library. It adds a new Updater struct that allows appending new files to the existing zip archive without having to decompress the whole file, and allows overwriting of files already stored in the zip archive.

Usage

import "github.com/STARRY-S/zip"
// Open an existing test.zip archive with read/write only mode for Updater.
f, err := os.OpenFile("test.zip", os.O_RDWR, 0)
handleErr(err)
zu, err := zip.NewUpdater(f)
handleErr(err)
defer zu.Close()

// Updater supports modify the zip comment.
err = zu.SetComment("Test update zip archive")
handleErr(err)

// Append a new file into existing archive.
// The Append method will create a new io.Writer.
w, err := zu.Append("example.txt")
handleErr(err)
// Write data into writer.
_, err = w.Write([]byte("hello world"))
handleErr(err)

Example test code: updater_example_test.go.

License

BSD 3-Clause

The zip library is based on Go standard library.