Я хотел бы прочитать и обработать 1024 байта за раз в моем файле, заданном именем файла.
Я ожидал бы увидеть что-то вроде этого:
package main
import (
"bufio"
"fmt"
"io"
"os"
)
func main() {
filename := `test.file`
f, err := os.Open(filename)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
r := bufio.NewReader(f)
buf := make([]byte, 0, 1024)
for {
n, err := io.ReadFull(r, buf[:cap(buf)])
buf = buf[:n]
if err != nil {
if err == io.EOF {
break
}
if err != io.ErrUnexpectedEOF {
fmt.Println(err)
break
}
}
fmt.Println("read n bytes...", n)
// process buf
}
}
Вывод:
read n bytes... 1024
read n bytes... 1024
read n bytes... 1024
read n bytes... 80