Source File: ex24d_bufio/main.go
package main
import (
"fmt"
"os"
"bufio"
"log"
"io"
)
func main() {
in_file, err := os.Open("main.go")
if err != nil { log.Fatal(err) }
defer in_file.Close()
out_file, err := os.OpenFile("out.txt", os.O_RDWR|os.O_CREATE, 0644)
if err != nil { log.Fatal(err) }
defer out_file.Close()
in_rd := bufio.NewReader(in_file)
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")
}