我的zip压缩后还是太大,有没有其他办法提高压缩率。
func Test() error {
var archive *os.File
if archive, err = create(filepath, "official-test.xml.zip"); err != nil {
return err
}
defer archive.Close()
z := zip.NewWriter(archive)
defer z.Close()
z.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) {
return flate.NewWriter(out, flate.BestSpeed)
})
if err != nil {
return err
}
if file, err = z.Create("official-test.xml"); err != nil {
return err
}
h := []byte("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<list>")
file.Write(append(h, append(generator, append(Items, []byte("\n</list>")...)...)...))
return
}
如果我只能使用zip而不是gzip、7-zip,还有其他方法可以帮助我压缩文件吗?
尝试更改常量 flate.BestSpeed 并使用 flate.BestCompression 这是可用的最高压缩级别。
链接:
https://pkg.go.dev/github.com/klauspost/compress/flate#pkg-constants