Golang compress/flate.NewReader() and NewReaderDict() functions example

package compress/flate

Golang compress/flate.NewReader() and NewReaderDict() functions usage example.

  package main

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

  func main() {
 inputFile, err := os.Open("file.txt.compressed")

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

 defer inputFile.Close()

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

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

 defer outputFile.Close()

 flateReader := flate.NewReader(inputFile) //<----- here!

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

  }

and if the file is compressed with NewWriterDict ( with Dictionary ), use NewReaderDict() function instead :

 // note : NewReaderDict is typically used to read data compressed by NewWriterDict.
 var dict = "test files for Golang"
 flateReader := flate.NewReaderDict(inputFile, []byte(dict))

References :

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

https://golang.org/pkg/compress/flate/#NewReaderDict

Advertisement