将二进制文件转换为字节数组



我想知道将二进制File转换为[]byte的最佳方法是什么

这是一个不起作用的示例代码。我想知道我应该如何调整它以返回的内容

func ReadFileAndReturnByteArray(extractedFilePath string) ([]byte, error) {
file, err := os.Open(extractedFilePath)
if err != nil {
return nil, err
}
defer file.Close()
fileinfo, err := file.Stat()
if err != nil {
fmt.Println(err)
return nil, err
}
filesize := fileinfo.Size()
buffer := make([]byte, filesize)
_, err = file.Read(buffer)
if err != nil {
fmt.Println(err)
return  nil, err
}
return buffer, nil
}

os包提供了ReadFile函数,该函数仅适用于文件。它与ReadFileAndReturnByteArray函数具有完全相同的签名,应该是一个临时替换。


io包提供适用于任何io.Reader的ReadAll函数。

示例:

func ReadFileAndReturnByteArray(extractedFilePath string) ([]byte, error) {
file, err := os.Open(extractedFilePath)
if err != nil {
return nil, err
}
defer file.Close()
return io.ReadAll()
}

最新更新