mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 03:34:15 +08:00
36 lines
569 B
Go
36 lines
569 B
Go
// gzipped.go
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"bufio"
|
|
"os"
|
|
"compress/gzip"
|
|
)
|
|
|
|
func main() {
|
|
fName := "MyFile.gz"
|
|
var r *bufio.Reader
|
|
fi, err := os.Open(fName)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%v, Can't open %s: error: %s\n", os.Args[0], fName,
|
|
err)
|
|
os.Exit(1)
|
|
}
|
|
fz, err := gzip.NewReader(fi)
|
|
if err != nil {
|
|
r = bufio.NewReader(fi)
|
|
} else {
|
|
r = bufio.NewReader(fz)
|
|
}
|
|
|
|
for {
|
|
line, err := r.ReadString('\n')
|
|
if err != nil {
|
|
fmt.Println("Done reading file")
|
|
os.Exit(0)
|
|
}
|
|
fmt.Println(line)
|
|
}
|
|
}
|