gzipped.go 552 B

123456789101112131415161718192021222324252627282930313233343536
  1. // gzipped.go
  2. package main
  3. import (
  4. "bufio"
  5. "compress/gzip"
  6. "fmt"
  7. "os"
  8. )
  9. func main() {
  10. fName := "MyFile.gz"
  11. var r *bufio.Reader
  12. fi, err := os.Open(fName)
  13. if err != nil {
  14. fmt.Fprintf(os.Stderr, "%v, Can't open %s: error: %s\n", os.Args[0], fName,
  15. err)
  16. os.Exit(1)
  17. }
  18. defer fi.Close()
  19. fz, err := gzip.NewReader(fi)
  20. if err != nil {
  21. r = bufio.NewReader(fi)
  22. } else {
  23. r = bufio.NewReader(fz)
  24. }
  25. for {
  26. line, err := r.ReadString('\n')
  27. if err != nil {
  28. fmt.Println("Done reading file")
  29. os.Exit(0)
  30. }
  31. fmt.Println(line)
  32. }
  33. }