Go 中使用“compress/gzip”包进行 Gzip 文件压缩
文件压缩通常对于优化数据传输和存储至关重要。在 Go 中,“compress/gzip”包为 gzip 压缩提供了便捷的解决方案。以下是如何使用此包:
压缩文件
import ( "bytes" "compress/gzip" "io" "os" ) func compressFile(sourceFile, compressedFile string) error { input, err := os.ReadFile(sourceFile) if err != nil { return err } var b bytes.Buffer w := gzip.NewWriter(&b) if _, err := w.Write(input); err != nil { return err } if err := w.Close(); err != nil { return err } if err := os.WriteFile(compressedFile, b.Bytes(), 0644); err != nil { return err } return nil }
直接读取压缩文件
读取直接压缩文件,可以使用gzip.NewReader函数:
func readCompressedFile(compressedFile string) error { f, err := os.Open(compressedFile) if err != nil { return err } defer f.Close() r, err := gzip.NewReader(f) if err != nil { return err } defer r.Close() if _, err := io.Copy(os.Stdout, r); err != nil { return err } return nil }
通过使用这些函数,您可以轻松地在 Go 中压缩和解压缩文件,从而高效地优化数据传输和存储。
以上是如何使用Go的'compress/gzip”包进行高效的文件压缩和解压?的详细内容。更多信息请关注PHP中文网其他相关文章!