使用Golang实现Gzip压缩与解压缩
发表时间: 2024-05-28 10:03
compress/gzip 压缩和解压包
gzip是当前应用非常广泛的文件压缩格式, golang 中也有内置的 compress/gzip对其提供原生支持。
go标准库的gzip包中提供了两个操作, 分别是压缩和解压
package mainimport ( "compress/gzip" "io" "log" "os")func main() { //第一步: 打开需要压缩的文件 fr, err := os.Open("data.bin") if err != nil { log.Fatalf("failed to open file to read: %v", err) } defer fr.Close() //第二步: 创建压缩文件 fw, err := os.Create("gzip_res.gz") if err != nil { log.Fatalf("failed to open file to write: %v", err) } defer fw.Close() //第三步: 创建写 io.Writer w := gzip.NewWriter(fw) defer w.Close() _, err = io.Copy(w, fr) if err != nil { log.Fatalf("failed to gzip: %v", err) }}
> # go run main.go