golang如何把一段buffer的内容生成zip文件

CodingCode · · 2435 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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)    
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:CodingCode

查看原文:golang如何把一段buffer的内容生成zip文件

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2435 次点击  
加入收藏 微博
上一篇:go build
下一篇:golang交叉编译
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传