Source File: ex24c_raw_io/main.go

package main

import (
    "fmt"
    "os"
    "log"
)

func main() {
    build_log, err := os.Open("build.log")
    defer build_log.Close()
    if err != nil { log.Fatal(err) }

    finfo, err := build_log.Stat()
    if err != nil { log.Fatal(err) }

    in_data := make([]byte, finfo.Size())

    n, err := build_log.Read(in_data)
    if err != nil { log.Fatal(err) }

    fmt.Println("read", n, "bytes")

    out_file, err := os.OpenFile("out.log", os.O_RDWR|os.O_CREATE, 0644)
    defer out_file.Close()

    _, err = out_file.Write(in_data)
    if err != nil { log.Fatal(err) }
}