36 lines
595 B
Go
36 lines
595 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
var buf [1048576]byte
|
|
|
|
fd, err := os.Open("/dev/urandom")
|
|
if err != nil {
|
|
log.Fatal("Couldn't open urandom, " + err.Error())
|
|
}
|
|
count, err := io.ReadFull(fd, buf[:])
|
|
if err != nil || count != len(buf) {
|
|
log.Fatal("COuldn't read bytes, " + err.Error())
|
|
}
|
|
fd.Close()
|
|
i := 0
|
|
total := 0
|
|
fd, err = os.Create("tmp.dat")
|
|
for {
|
|
i, err = fd.Write(buf[:])
|
|
if err != nil || i != 1048576 {
|
|
fmt.Printf("EOF at %dmb, %s\n", total, err.Error())
|
|
fd.Close()
|
|
os.Remove("tmp.dat")
|
|
log.Fatal("End")
|
|
}
|
|
total++
|
|
}
|
|
}
|