压缩文件
file, err := os.Open("./a/2023061518")
if err != nil {
log.Println(err)
return
}
gzFile, err := os.Create(fmt.Sprintf("%s.gz", filename))
if err != nil {
log.Println(err)
return
}
defer gzFile.Close()
writer := gzip.NewWriter(gzFile)
defer writer.Close()
_, err = io.Copy(writer, file)
if err != nil {
log.Println(err)
return
}
读取 gz 文件数据到本地文件
file, err := os.Open("./a/2023061518.gz")
if err != nil {
log.Println(err)
return
}
defer file.Close()
reader, err := gzip.NewReader(file)
if err != nil {
log.Println(err)
return
}
defer reader.Close()
scanner := bufio.NewScanner(reader)
var buf bytes.Buffer
for scanner.Scan() {
buf.WriteString(scanner.Text()+"\n")
}
newFile, err := os.Create("./a/2023061518")
if err != nil {
log.Println(err)
return
}
defer newFile.Close()
_, err = newFile.WriteString(buf.String())
if err != nil {
log.Println(err)
return
}