Go言語でzipで圧縮したテキストファイルを解凍なしで内容を表示する


package main

import (
	"archive/zip"
	"bufio"
	"fmt"
)

func main() {
	// zip化されたtxtファイルを読み込む
	zr, err := zip.OpenReader("hoge.txt.zip")
	if err != nil {
		panic(err)
	}
	for _, zfile := range zr.File {
		reader, err := zfile.Open()
		if err != nil {
			panic(err)
		}
		scanner := bufio.NewScanner(reader)
		for scanner.Scan() {
			// 1行ずつ表示する
			fmt.Println(scanner.Text())
		}
		reader.Close()
	}
	zr.Close()
}