GZip.jl: A Julia interface for gzip functions in zlib
This module provides a wrapper for the gzip related functions of zlib, a free, general-purpose, legally unencumbered, lossless data-compression library. These functions allow the reading and writing of gzip files.
Usage
Typical usage would be something like
using GZip
# Write some text into a compressed .gz file
s = "gzip is part of zlib, a free, general-purpose, " *
"legally unencumbered, lossless data-compression library"
fh = GZip.open("testfile.gz", "w")
write(fh, s)
close(fh)
# Read back the data
fh = GZip.open("testfile.gz")
s = readline(fh)
close(fh)Notes
- This interface is only for gzipped files, not the streaming zlib compression interface. Internally, it depends on/uses the streaming interface, but the gzip related functions are higher level functions pertaining to gzip files only.
GZipStreamis an implementation ofIOand can be used virtually anywhereIOis used.- This implementation mimics the
IOStreamimplementation, and should be a drop-in replacement forIOStream, with some caveats:seekendandtruncateare not availablereaduntilis available, but is not very efficient. (Butreadlineworks fine.)
In addition to open, gzopen, and gzdopen, the following IO/IOStream functions are supported:
close()flush()seek()skip()position()eof()read()readuntil()readline()write()peek()
Due to limitations in zlib, seekend and truncate are not available.
Old Documentation
Old documentation link: https://gzipjl.readthedocs.io/en/latest/