Golang compress/flate.NewWriter() and NewWriterDict() functions example
package compress/flate
Golang compress/flate.NewWriter() and NewWriterDict() functions usage example.
package main
import (
"compress/flate"
"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.compressed")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer outputFile.Close()
flateWriter, err := flate.NewWriter(outputFile, flate.BestCompression)
if err != nil {
fmt.Println("NewWriter error ", err)
os.Exit(1)
}
defer flateWriter.Close()
io.Copy(flateWriter, inputFile)
flateWriter.Flush() // remember to flush!
}
and if you want to compress the file with your own dictionary, use NewWriterDict()
function instead
var dict = "test files for Golang"
flateWriter, err := flate.NewWriterDict(outputFile, flate.BestCompression, []byte(dict))
References :
Advertisement
Something interesting
Tutorials
+14k Golang: Pad right or print ending(suffix) zero or spaces in fmt.Printf example
+8.9k Golang : Find network service name from given port and protocol
+12.8k Swift : Convert (cast) Int or int32 value to CGFloat
+9.3k Golang : Generate EAN barcode
+5.9k Golang : Generate multiplication table from an integer example
+9.4k Golang : Web(Javascript) to server-side websocket example
+5.9k Golang : Extract unicode string from another unicode string example
+21.8k Golang : How to reverse slice or array elements order
+16.9k Golang : Set up source IP address before making HTTP request
+28.2k Golang : Connect to database (MySQL/MariaDB) server
+28.5k Golang : Change a file last modified date and time
+16.4k Golang : How to implement two-factor authentication?