Read a tar file contents using go1.16 io/fs abstraction
Install:
go get github.com/nlepage/go-tarfs
Use:
package main
import (
"os"
tarfs "github.com/nlepage/go-tarfs"
)
func main() {
tf, err := os.Open("path/to/archive.tar")
if err != nil {
panic(err)
}
defer tf.Close()
tfs, err := tarfs.New(tf)
if err != nil {
panic(err)
}
f, err := tfs.Open("path/to/some/file")
if err != nil {
panic(err)
}
// defer f.Close() isn't necessary, it is a noop
// use f...
}
More information at pkg.go.dev/github.com/nlepage/go-tarfs
For now, no effort is done to support symbolic links.
π€ Nicolas Lepage
- Website: https://nicolas.lepage.dev/
- Twitter: @njblepage
- Github: @nlepage
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a βοΈ if this project helped you!
This project is unlicensed, it is free and unencumbered software released into the public domain.