Maison >développement back-end >Golang >Comment puis-je utiliser le package « compress/gzip » de Go pour une compression et une décompression efficaces des fichiers ?
Compression de fichiers Gzip dans Go avec le package "compress/gzip"
La compression de fichiers est souvent essentielle pour optimiser le transfert et le stockage de données. Dans Go, le package « compress/gzip » fournit une solution pratique pour la compression gzip. Voici comment utiliser ce package :
Compresser un fichier
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 }
Lecture directe d'un fichier compressé
Pour lire un fichier compressé directement, vous pouvez utiliser le gzip.NewReader fonction :
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 }
En utilisant ces fonctions, vous pouvez facilement compresser et décompresser des fichiers dans Go, vous permettant d'optimiser efficacement le transfert et le stockage de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!