Source File: ex24d_bufio/main.go
package main
import (
"fmt"
"os"
"bufio"
"log"
"io"
)
func main() {
build_log, err := os.Open("build.log")
defer build_log.Close()
if err != nil { log.Fatal(err) }
out_file, err := os.OpenFile("out.log", os.O_RDWR|os.O_CREATE, 0644)
defer out_file.Close()
if err != nil { log.Fatal(err) }
in_rd := bufio.NewReader(build_log)
lines := 0
for {
line, err := in_rd.ReadString('\n')
if err == io.EOF {
break;
} else if err != nil {
log.Fatal(err)
}
out_file.WriteString(line)
lines++
}
fmt.Println("read", lines, "lines")
}