golang压缩文件为zip【我的第一个golang程序】
作者:互联网
package main
import (
"archive/zip"
"io"
"os"
)
func main() {
var dst = "test.zip" //压缩文件名称
var src = "log.txt" //源文件名称
zip_file(src, dst) //调用zip_file函数
}
func zip_file(src, dst string)(err error) {
archive, err := os.Create(dst) //创建文件对象
if err != nil {
panic(err)
}
defer archive.Close()
zipWriter := zip.NewWriter(archive) //初始化一个zip.Writer,用来将数据写入zip文件中
f2, err := os.Open(src) //打开源文件
if err != nil {
panic(err)
}
defer f2.Close()
w2, err := zipWriter.Create(src) //创建一个io.Writer
if err != nil {
panic(err)
}
//直接把源文件的内容copy到io.Writer中,即是写入到zip文件中
if _, err := io.Copy(w2, f2); err != nil {
panic(err)
}
zipWriter.Close()
return err
}
标签:src,zip,err,dst,压缩文件,golang,io,archive 来源: https://blog.csdn.net/qq_44488261/article/details/122733788