Int*_*net 22
gzip.Writerio.Writer
例:
package main
import (
"bytes"
"compress/gzip"
"fmt"
"log"
)
func main() {
var b bytes.Buffer
gz := gzip.NewWriter(&b)
if _, err := gz.Write([]byte("YourDataHere")); err != nil {
log.Fatal(err)
}
if err := gz.Close(); err != nil {
log.Fatal(err)
}
fmt.Println(b.Bytes())
}
compress/flategzip.NewWriterLevel
- 还有一件事是Flush()只将_current_数据写入缓冲区.它没有完成整个GZIP格式.因此,在这种情况下,它是相当无用的,因为在最后一行写的不是有效的GZIP结构.你需要调用Close()_before_你用缓冲区做任何事情. (2认同)
- 很棒的提示@PhilKulak。只需添加一点,使用_defer_关闭压缩的Writer可能会导致一些细微的错误,即在关闭缓冲区之前正在使用缓冲区。读取压缩数据时,这可能导致意外的EOF错误。小心! (2认同)