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 |