Note
located in gzip.jl
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.
It is currently based on zlib 1.2.7.
- 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 of IO and can be used virtually anywhere IO is used.
- This implementation mimics the IOStream implementation, and should be a drop-in replacement for IOStream, with some exceptions:
- seek_end() and truncate() are not available
- readuntil() is available, but is not very efficient. (But readline() works fine.)
In addition to gzopen() and gzfdio()/gzdopen(), the following IO/IOStream functions are supported:
close() flush() seek() skip() position() eof() read() readuntil() readline() write()
Due to limitations in zlib, seek_end() and truncate() are not available.
Opens a file with mode (default "r"), setting internal buffer size to buf_size (default Z_DEFAULT_BUFSIZE=8192), and returns a the file as a GZipStream.
gzmode must contain one of
r | read |
w | write, create, truncate |
a | write, create, append |
In addition, gzmode may also contain
x | create the file exclusively (fails if file exists) |
0-9 | compression level |
and/or a compression strategy:
f | filtered data |
h | Huffman-only compression |
R | run-length encoding |
F | fixed code compression |
Note that + is not allowed in gzmode.
If an error occurs, gzopen throws a GZError
Create a GZipStream object from an integer file descriptor. See gzopen() for gzmode and buf_size descriptions.
Create a GZipStream object from IOStream s.
Subtype of IO which wraps a gzip stream. Returned by gzopen() and gzdopen().
gzip error number and string. Possible error values:
Z_OK | No error |
Z_ERRNO | Filesystem error (consult errno()) |
Z_STREAM_ERROR | Inconsistent stream state |
Z_DATA_ERROR | Compressed data error |
Z_MEM_ERROR | Out of memory |
Z_BUF_ERROR | Input buffer full/output buffer empty |
Z_VERSION_ERROR | zlib library version is incompatible with caller version |