我有一个文件(假设描述符被命名为)通过该方法打开,所以我想将其内容读入字节数组中。fileos.Open()我假设方法是创建以后的data := make([]byte, 10000000)然后将内容读入其中n, err := file.Read(data)我的问题是,是否有一种更优雅/更习惯的方式来解决这个问题,因为通过事先不知道文件大小,我只是传递一个我估计在初始化bytes数组时会做的数字()。10000000
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
您可以使用(最高可达 Go 1.15)或(Go 1.16 及更高版本)软件包。有一个帮助器函数,可将整个文件读入字节切片。io/ioutilos
// For Go 1.15 and lower:
package main
import "io/ioutil"
func main() {
data, err := ioutil.ReadFile("path/to/my/file")
}
// For Go 1.16 and higher:
package main
import "os"
func main() {
data, err := os.ReadFile("path/to/my/file")
}
在 Go 版本 1.16 中,由于兼容性原因,该函数仍然存在,但它已在 中复制。我假设只要Go有1.xx版本,它就会一直存在,因为兼容性承诺,所以你可以继续使用那个。io/ioutilosio/ioutil
如果您有文件描述符或任何文件描述符,您也可以使用该软件包:io.Readerio/ioutil
package main
import (
"io/ioutil"
"os"
)
func main() {
f, _ := os.Open("path/to/my/file")
data, err := ioutil.ReadAll(f)
}
- 2 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
提交
取消