Source File: ex24c_raw_io/main.go
package main
import (
"fmt"
"os"
"log"
)
func main() {
in_file, err := os.Open("main.go")
if err != nil { log.Fatal(err) }
defer in_file.Close()
finfo, err := in_file.Stat()
if err != nil { log.Fatal(err) }
in_data := make([]byte, finfo.Size())
n, err := in_file.Read(in_data)
if err != nil { log.Fatal(err) }
fmt.Println("read", n, "bytes")
out_file, err := os.OpenFile("out.txt", os.O_RDWR|os.O_CREATE, 0644)
if err != nil { log.Fatal(err) }
defer out_file.Close()
_, err = out_file.Write(in_data)
if err != nil { log.Fatal(err) }
}