Go 언어로 Gzip 대답하기

1071 단어 Gogziptech
compress/gzip 포장을 사용하면 더욱 효과적입니다.

코드


package main

import (
	"compress/gzip"
	"flag"
	"io/ioutil"
	"os"
)

func main() {
	flag.Parse()
	args := flag.Args()
	if len(args) != 2 {
		panic("args length is not 2")
	}
	filename := args[0]
	outputFilename := args[1]

	file, err := os.Open(filename)
	if err != nil {
		panic(err)
	}
	defer file.Close()

	gzipReader, err := gzip.NewReader(file)
	if err != nil {
		panic(err)
	}
	buf, err := ioutil.ReadAll(gzipReader)
	if err != nil {
		panic(err)
	}

	outputFile, err := os.OpenFile(outputFilename, os.O_WRONLY|os.O_CREATE, 0666)
	if err != nil {
		panic(err)
	}
	defer outputFile.Close()
	_, err = outputFile.Write(buf)
	if err != nil {
		panic(err)
	}
}

사용법

go run unzip/main.go jawiki-country.json.gz jawiki-country.json

인용하다


https://golang.org/pkg/compress/gzip/

좋은 웹페이지 즐겨찾기