hariprasadraja
10/3/2019 - 3:48 AM

go gzip reader multistream

reads muliple files as the gzip

var reader io.Reader
	var UnCompressedData []byte

	gzipReader, err := gzip.NewReader(reader)
	defer func() { _ = gzipReader.Close() }()
	if err != nil {
		log.Fatal(err)
	}

	for {
		// if Multistream is set false, It reads the gzip data as seperate stream
		gzipReader.Multistream(false)
		gzipReader.Read(UnCompressedData)

		err = gzipReader.Reset(reader)
		if err == io.EOF {
			break
		}

		if err != nil {
			log.Fatal(err)
		}
	}