...
1 package compressor
2
3 import (
4 "compress/gzip"
5 "io"
6 "os"
7 )
8
9
10 func CompressToFile(targetFile string, data []byte) error {
11 f, err := os.Create(targetFile)
12 if err != nil {
13 return err
14 }
15 defer f.Close()
16
17
18 w := gzip.NewWriter(f)
19
20
21 _, err = w.Write(data)
22 if err != nil {
23 return err
24 }
25
26
27 return w.Close()
28
29
30
31
32
33 }
34
35
36 func ReadDecompressedContent(file string) ([]byte, error) {
37 f, err := os.Open(file)
38 if err != nil {
39 return nil, err
40 }
41 defer f.Close()
42
43
44 reader, err := gzip.NewReader(f)
45 if err != nil {
46 return nil, err
47 }
48 defer reader.Close()
49
50 result, _ := io.ReadAll(reader)
51 if err != nil {
52 return nil, err
53 }
54
55 return result, nil
56 }
57
58
59 func ReadCompressedContent(file string) ([]byte, error) {
60 f, err := os.Open(file)
61 if err != nil {
62 return nil, err
63 }
64 defer f.Close()
65
66 result, _ := io.ReadAll(f)
67 if err != nil {
68 return nil, err
69 }
70
71 return result, nil
72 }
73
View as plain text