golang如何把一段buffer的内容生成zip文件
在前面的例子中,我们介绍了如何把一个文件压缩成zip文件,包括如何把多个文件、目录一起压缩成一个zip文件。
这里我们介绍如何把一段buffer的内容生成zip文件;例如我们从网络接收外端发送的数据,然后要把收到的数据压缩生成一个一个zip文件。
package main
import (
"io"
"log"
"bytes"
"io/ioutil"
"archive/zip"
)
func main() {
var err error
var zipBuffer * bytes.Buffer = new(bytes.Buffer)
var zipWriter * zip.Writer = zip.NewWriter(zipBuffer)
// Create entry in zip file
var zipEntry io.Writer
zipEntry, err = zipWriter.Create("a.txt")
if err != nil {
log.Fatal(err)
}
// Write content into zip entry
_, err = zipEntry.Write([]byte("llllllllllll-1\n"))
if err != nil {
log.Fatal(err)
}
_, err = zipEntry.Write([]byte("llllllllllll-2\n"))
if err != nil {
log.Fatal(err)
}
// Make sure to check the error on Close.
err = zipWriter.Close()
if err != nil {
log.Fatal(err)
}
// Write the zip file to the disk
ioutil.WriteFile("a.zip", zipBuffer.Bytes(), 0644)
}
有疑问加站长微信联系(非本文作者)