go实现gzip压缩、解压

下面分享一下使用go进行gzip的压缩和解压的过程

package mainimport ("bytes""compress/gzip""io""os""testing"
)func TestCsGzip(t *testing.T)  {//压缩err := doGzip([]byte("hello,golang"),"/data/aaa.gz","test.txt")if err != nil {t.Error(err.Error())return}//解压content ,err := unGzip("/data/aaa.gz")if err != nil {t.Error(err.Error())return}t.Log(string(content))
}/**
压缩bytes内容
1.根据指定目录创建文件
2.根据文件资源对象生成gzip Writer对象
3.往gzip Writer对象写入内容*/
func doGzip(content []byte,path string,fileName string) error{gzFile ,err := os.Create(path)if err != nil {return err}defer gzFile.Close()gzipWriter := gzip.NewWriter(gzFile)defer gzipWriter.Close()gzipWriter.Name = fileName_,err = gzipWriter.Write(content)if err != nil {return err}return nil
}/**
解压
1.根据指定路径打开gzip文件资源
2.由文件资源创建gzip Reader对象
3.将gizp 内存流copy到指定buf并返回bytes*/
func unGzip(path string)(content []byte,err error)  {gzipFile, err := os.Open(path)if err != nil {return}defer gzipFile.Close()gzipReader, err := gzip.NewReader(gzipFile)if err != nil {return}defer gzipReader.Close()var buf bytes.Buffer_,err = io.Copy(&buf,gzipReader)if err != nil {return nil, err}return buf.Bytes() ,nil
}

go实现gzip压缩、解压相关推荐

  1. GZip 压缩解压 --- Pako 的压缩解压

    一.GZip压缩解压 package java调用JS;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream ...

  2. 字符串GZIP压缩解压

    c# /// <summary>/// 字符串压缩解压/// </summary>public class Zipper{public static string Compre ...

  3. Linux gzip压缩/解压 *.gz文件详解

    gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件,这里简单介绍下它最常见的用法, GZIP(1) General Commands Manual GZIP(1) NA ...

  4. java gzip 压缩解压工具类

    因为觉得简单,本想抱着百度直接拿过来用的心态,结果发现网上的代码都转载自同一份,且埋了一个坑,你不仔细去梳理,很难发现. mark下需要注意的两点: 1. 编码/解码,压缩/解压缩是成对出现的 编码: ...

  5. C# GZip 压缩 / 解压

    有时候我们需要去压缩数据 如视频/音频/内容 等信息 不少应用于套接字编程 不过微软为我 们提供了一个用于解压缩的类GZIP不过这东西是很多年以前就开了源代码的 如RAR则是借 鉴其算法修改增强的一个 ...

  6. gzip 压缩解压代码示例

    #include <zlib.h> #include <iostream> #include <stdint.h> #include <string.h> ...

  7. python3 gzip 压缩/解压

    import gzip t = gzip.compress('{"key":value""}'.encode())print(gzip.decompress(t ...

  8. Ubuntu使用gzip与bzip2与rar和tar压缩解压

    目录 1.gzip压缩解压 2.bzip2压缩解压 3.rar压缩解压 tar归档压缩与解压包 1.gzip压缩解压 因为都是系统自带的我们不需要安装: ls 看一下目录当前的文件,创建一个 touc ...

  9. java 使用gzip压缩和解压 传输文件必备

    java gzip 压缩解压工具类,开箱即用 gzip原理看我另外一篇介绍 压缩效果直接看图: package com.yeahmobi.datacheck.util;import java.io.* ...

  10. python压缩文件tar_python 实现tar文件压缩解压的实例详解

    python 实现tar文件压缩解压的实例详解 python 实现tar文件压缩解压的实例详解 压缩文件: import tarfile import os def tar(fname): t = t ...

最新文章

  1. 自定义窗体设计器-控件测试
  2. 花了3个月整理的超级全面的Python资料和Java面试题,分享给大家!
  3. 用iptables做IP的静态映射
  4. html的body内标签之图片及表格
  5. 关于REST API设计的一些小经验
  6. Troubleshooting(三):网络
  7. SpringBoot使用ControllerAdvice和ExceptionHandler进行统一异常处理
  8. CECC2018赛季收官站我国×××手夺得年度总冠军
  9. java filewriter写入文件_Java中的写入字符文件类FileWriter
  10. mysql 动态游标 , 实际上不要使用, 因为两个人同时执行会删除了其中一个人的数据...
  11. C语言根号作用,c语言开根号(开根号编程)
  12. 验证18位身份证真实性
  13. 安卓紧急警报_我们的紧急警报系统依赖于重叠的私有服务混乱局面
  14. 上传到服务器的网站打开是空白,网站上传服务器,首页打开空白的解决办法|74cms|骑士cms...
  15. 支付宝支付之“单笔转账到支付宝账户接口”的调用(生成签名、上传应用公钥、下载SDK、接口调用、报错自动排查、查看错误码)
  16. 简单的学生网页作业源码 基于html css javascript仿淘宝购物商城设计毕业论文源码
  17. Cocos精品《热血传奇》|五千个日夜 同一个传奇
  18. 虚拟机、容器和沙箱是什么关系?
  19. 基于Java的学生课程管理系统的设计和实现
  20. Python 双色球彩票系统

热门文章

  1. 在vc++如何响应键盘和鼠标事件-visual c++
  2. 微信小程序 地图实现查找标记地点
  3. 学习spss的心得体会
  4. 小米便签类间关系图绘制方法
  5. Python暴力破解WIFI(超详细破解教程+UI设计教程+步步解析)
  6. 实例讲解什么是Meta回归,怎么利用Meta回归发表文章!
  7. VGA分辨率无法识别或错误通过添加自定义配置参数正确显示(Ubuntu/Windows)
  8. python3传智播客_3.Ubuntu安装以及配置(传智播客.黑马程序员python学科)
  9. python-封装继承多态
  10. 中国地图3D立体效果