How to write to gzipped file in Go
This example shows you how to directly write gzip-compressed data using Go’s gzip
library.
First, open the file and use gzip.NewWriter()
to create a new io.Writer
on it:
// Open file
f, _ := os.Create("test.txt.gz")
defer f.Close()
// Create gzip writer
gzWriter := gzip.NewWriter(f)
Now you can gzWriter.Write()
. Don’t forget to gzWriter.Close()
content := "Hello World!"
gzWriter.Write([]byte(content))
gzWriter.Close()
Full example:
package main
import (
"compress/gzip"
"os"
)
func main() {
// Open file
f, _ := os.Create("test.txt.gz")
defer f.Close()
// Create gzip writer
gzWriter := gzip.NewWriter(f)
// Write content and close
content := "Hello World!"
gzWriter.Write([]byte(content))
gzWriter.Close()
}
You can useĀ zcat test.txt.gz
to see that the content has been written to the file correctly.