使用go读取gzip格式的压缩包

go读取gzip格式的压缩包

package main

// 引入所需包
import (
    "os"
    "compress/gzip"
    "io/ioutil"
    "fmt"
)

// gzip文件
var fn = "./113.200.251.66_1510825558_A6D39783B05943D8ACA64F397748CF1B_vdn.gz"

func main() {
    println(fn)
    // 打开本地gz格式压缩包
    fr, err := os.Open(fn)
    if err != nil {
        panic(err)
    } else {
        println("open file success!")
    }

    // defer: 在函数退出时,执行关闭文件
    defer fr.Close()

    // 创建gzip文件读取对象
    gr, err := gzip.NewReader(fr)
    if err != nil {
            panic(err)
        }

    // defer: 在函数退出时,执行关闭gzip对象
    defer gr.Close()

    // 读取gzip对象内容
    rBuf, err := ioutil.ReadAll(gr)
    if err != nil {
        fmt.Println("[read gzip data err]: ", err)
    }

    // 以文本形式输出
    fmt.Printf("%s\n", rBuf)
}

输出: ABCDEFG

你可能感兴趣的:(golang)