Skip to content

oliverpool/go-tarfs

 
 

Repository files navigation

go-tarfs

Go Reference GitHub release (latest SemVer) GitHub Workflow Status License Unlicense

Read a tar file contents using go1.16 io/fs abstraction

Usage

⚠️ go-tarfs needs go>=1.16

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

Caveats

For now, no effort is done to support symbolic links.

Show your support

Give a ⭐️ if this project helped you!

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):


Nicolas Lepage

💻 ⚠️ 💡 🚧 👀

Jonas Plum

⚠️ 💻

MengYX

🐛 💻

Andrey Dyatlov

🐛 💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

📝 License

This project is unlicensed, it is free and unencumbered software released into the public domain.

About

Read a tar file contents using go1.16 io/fs abstraction

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%