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.
GZipStream
is an implementation ofIO
and can be used virtually anywhereIO
is used.- This implementation mimics the
IOStream
implementation, and should be a drop-in replacement forIOStream
, with some caveats:seekend
andtruncate
are not availablereaduntil
is available, but is not very efficient. (Butreadline
works 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/