Files
the-way-to-go_ZH_CN/eBook/examples/chapter_12/read_files.go
Callan Taylor c588ddea2d Close unclosed files (#735)
* Cose unclosed files

* Close additional unclosed file

* Dont use defer in loop

* Removed missed instances of defer in loop
2019-11-12 20:28:23 -08:00

30 lines
537 B
Go

// read_files.go
package main
import (
"bufio"
"flag"
"fmt"
"io"
"os"
)
func main() {
fmt.Printf("Reading files...\n")
flag.Parse()
for i := 0; i < flag.NArg(); i++ {
fmt.Printf("[File: %v]\n", flag.Arg(i))
fin, err := os.Open(flag.Arg(i))
if err != nil {
fmt.Printf("The file %v does not exist!\n", flag.Arg(i))
break
}
r := bufio.NewReader(fin)
for line, _, err := r.ReadLine(); err != io.EOF; line, _, err = r.ReadLine() {
fmt.Printf("Lines: %v (error %v)\n", string(line), err)
}
fin.Close()
}
}