Golang compress/gzip.NewWriter() and NewWriterLevel() functions example
package compress/gzip
Golang compress/gzip.NewWriter() and NewWriterLevel() functions example
package main
import (
"compress/gzip"
"fmt"
"io"
"os"
)
func main() {
inputFile, err := os.Open("file.txt")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer inputFile.Close()
outputFile, err := os.Create("file.txt.gz")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer outputFile.Close()
// for default compression, use
// writer, err := gzip.NewWriter(outputFile)
writer, err := gzip.NewWriterLevel(outputFile, gzip.BestCompression)
if err != nil {
fmt.Println("NewWriterLevel error ", err)
os.Exit(1)
}
defer writer.Close()
io.Copy(writer, inputFile)
writer.Flush() // remember to flush the toilet!
}
References :
https://golang.org/pkg/compress/gzip/#NewWriter
https://golang.org/pkg/compress/gzip/#NewWriterLevel
https://www.socketloop.com/tutorials/golang-gzip-file-example
Advertisement
Something interesting
Tutorials
+10.6k Golang : Get local time and equivalent time in different time zone
+8k Golang : Sort words with first uppercase letter
+7.4k Golang : Check to see if *File is a file or directory
+15.2k Golang : Get timezone offset from date or timestamp
+6.8k Golang : Muxing with Martini example
+10.9k Golang : Removes punctuation or defined delimiter from the user's input
+13.6k Golang : Qt progress dialog example
+5.3k Javascript : Shuffle or randomize array example
+22.9k Golang : Calculate time different
+9.2k Golang : How to check if a string with spaces in between is numeric?
+6k Golang : Function as an argument type example