Golang compress/lzw.NewReader() function example

package compress/lzw

Golang compress/lzw.NewReader() function usage example. For decompressing LZW-compressed data.

 package main

 import (
 "compress/lzw"
 "fmt"
 "io"
 "os"
 )

 func main() {

 inputFile, err := os.Open("file.txt.lzw")

 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }

 defer inputFile.Close()

 outputFile, err := os.Create("file.txt")

 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }

 defer outputFile.Close()

 // file.txt.lzw compressed by
 // https://socketloop.com/references/golang-compress-lzw-newwriter-function-example
 // litWidth is set to 8

 lzwReader := lzw.NewReader(inputFile, lzw.LSB, 8) //<----- here !

 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }

 defer lzwReader.Close()
 io.Copy(outputFile, lzwReader)

 }

Reference :

https://golang.org/pkg/compress/lzw/#NewReader

Advertisement