Gzip-Dateikomprimierung in Go mit dem Paket „compress/gzip“
Dateikomprimierung ist oft unerlässlich für die Optimierung der Datenübertragung und -speicherung. In Go bietet das Paket „compress/gzip“ eine praktische Lösung für die gzip-Komprimierung. So verwenden Sie dieses Paket:
Eine Datei komprimieren
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 }
Eine komprimierte Datei direkt lesen
Zum Lesen Wenn Sie direkt eine komprimierte Datei erstellen möchten, können Sie die Funktion gzip.NewReader verwenden:
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 }
Indem Sie diese verwenden Mit den Funktionen können Sie Dateien in Go ganz einfach komprimieren und dekomprimieren und so die Datenübertragung und -speicherung effizient optimieren.
Das obige ist der detaillierte Inhalt vonWie kann ich das „compress/gzip'-Paket von Go für eine effiziente Dateikomprimierung und -dekomprimierung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!