Source File: ex24e_scan/main.go

package main

import (
    "os"
    "bufio"
    "log"
)

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()

    scan := bufio.NewScanner(in_file)
    for scan.Scan() {
        line := scan.Text()
        out_file.WriteString(line+"\n")
    }

    if scan.Err() != nil {
        log.Fatal(scan.Err())
    }
}