Golang bindings for the unarr library from sumatrapdf.
unarr is a decompression library for RAR, TAR, ZIP and 7z archives.
go get -v github.com/gen2brain/go-unarr
a, err := unarr.NewArchive("test.7z")
if err != nil {
panic(err)
}
defer a.Close()
err := a.Entry()
if err != nil {
panic(err)
}
data, err := a.ReadAll()
if err != nil {
panic(err)
}
list, err := a.List()
if err != nil {
panic(err)
}
err := a.EntryFor("filename.txt")
if err != nil {
panic(err)
}
data, err := a.ReadAll()
if err != nil {
panic(err)
}
err := a.Entry()
if err != nil {
panic(err)
}
data := make([]byte, 8)
n, err := a.Read(data)
if err != nil {
panic(err)
}
for {
err := a.Entry()
if err != nil {
if err == io.EOF {
break
} else {
panic(err)
}
}
data, err := a.ReadAll()
if err != nil {
panic(err)
}
}
err := a.Extract("/tmp/path")
if err != nil {
panic(err)
}