「compress/gzip」パッケージを使用した Go での 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 を使用できます。 function:
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 中国語 Web サイトの他の関連記事を参照してください。