我对Go完全陌生,我正在尝试读取一个二进制文件,一次读取一个字节或几个字节。该文档并没有多大帮助,我找不到任何教程或简单示例(顺便说一句,Google如何给他们的语言提供这样一个难以理解的名称?)。基本上,我如何打开文件,然后将一些字节读入缓冲区?有什么建议吗?
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
例如,要计算文件中的零字节数:
package main
import (
"fmt"
"io"
"os"
)
func main() {
f, err := os.Open("filename")
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
data := make([]byte, 4096)
zeroes := 0
for {
data = data[:cap(data)]
n, err := f.Read(data)
if err != nil {
if err == io.EOF {
break
}
fmt.Println(err)
return
}
data = data[:n]
for _, b := range data {
if b == 0 {
zeroes++
}
}
}
fmt.Println("zeroes:", zeroes)
}
- 3 回答
- 0 关注
- 237 浏览
添加回答
举报
0/150
提交
取消