Skip to content

tarx is a golang package for archiving files and folders to tar format.

License

Notifications You must be signed in to change notification settings

viniciuschiele-archive/tarx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tarx

tarx is a golang package for archiving files and folders to tar format.

Installation

$ go get github.com/viniciuschiele/tarx

Examples

Compressing a file.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    if err := tarx.Compress("example.tar", "example.txt", nil); err != nil {
        panic(err)
    }
}

Compressing a folder.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    if err := tarx.Compress("example.tar", "example/folder", nil); err != nil {
      panic(err)
    }
}

Compression a folder with Gzip algorithm.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    err := tarx.Compress("example.tar.gz", "example/folder", &tarx.CompressOptions{Compression: tarx.Gzip})
    if err != nil {
        panic(err)
    }
}

Keeping the last directory name in the path.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    err := tarx.Compress("example.tar", "example/folder", &tarx.CompressOptions{IncludeSourceDir: true})
    if err != nil {
      return err
    }
}

Filtering files to be compressed.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    filters := []string{"a.txt", "c/c2.txt"}
    err := tarx.Compress("example.tar", "example/folder", &tarx.CompressOptions{filters: filters})
    if eer != nil {
        panic(err)
    }
}

Extracting tar file into a directory.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    if err := tarx.Extract("example.tar", "outputDir", nil}); err != nil {
        panic(err)
    }
}

Extracting tar file into a directory with filters.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    filters := []string{"a.txt", "c/c2.txt"}
    err := tarx.Extract("example.tar", "outputDir", &tarx.ExtractOptions{Filters: filters})
    if err != nil {
        panic(err)
    }
}

Reading a specific file from the tar file.

package main

import "github.com/viniciuschiele/tarx"

func main() {
    header, reader, err := tarx.Find("example.tar", "a.txt")
    if err != nil {
        panic(err)
    }
}

About

tarx is a golang package for archiving files and folders to tar format.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages