Go 言語で圧縮ファイルgzファイルの中身を表示する方法

Go 言語で圧縮ファイルgzファイルの中身を表示する方法

圧縮ファイルgzファイルを扱うには、“compress/gzip”をインポートする必要があります。

import(
  "compress/gzip"
  "log"
  "os"
  "encoding/xml"
  "fmt"
)
func main() {
  var file *os.File
  var err error
  type Ret struct {
    No string `xml:"no"`
  }
  v := Ret{No:""} // 構造体初期化
  if file, err = os.Open("D:\\~~\\~~.gz"); err != nil {
    log.Fatalln(err)
  }
  defer file.Close()
  reader, err := gzip.NewReader(file)
  if err != nil {
    return;
  }
  defer reader.Close()
  // ストリームのまま扱う
  err = xml.NewDecoder(reader).Decode(&v)
  if err != nil {
    fmt.Printf("error:%v", err)
    return
  }
  fmt.Printf("No:%v\n", v.No)
}

Go 言語で圧縮ファイルgzファイルの中身を表示する方法

コメント

タイトルとURLをコピーしました