mangalametta / gzran

gzip indexer for random access into compressed files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gzran

Gzran is a package that reads arbitrary offsets of uncompresssed data from compressed gzip files. This is accomplished by first inflating a file and saving decompressor state into memory. Then, the built index can be used with the Extract function to read from the compressed file without fully inflating the file.

Gzran is based on the c library, zran, by Mark Adler: https://github.com/madler/zlib/blob/master/examples/zran.c

example

idx, err := gzran.BuildIndex(gzippedFileName)
if err != nil {
    panic(err)
}
b, err := gzran.Extract(gzippedFileName, idx, fileOffset, readLength)
if err != nil && err != io.EOF {
    panic(err)
}

About

gzip indexer for random access into compressed files

License:Apache License 2.0


Languages

Language:Go 100.0%