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

我想知道将二进制转换为的最佳方法是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

}


Qyouu
浏览 102回答 1
1回答

慕的地10843

os 包提供了一个仅适用于文件的ReadFile函数。它与您的函数具有完全相同的签名ReadFileAndReturnByteArray,应该是一个替代品。io 包提供了适用于任何io.Reader.例子:func ReadFileAndReturnByteArray(extractedFilePath string) ([]byte, error) {    file, err := os.Open(extractedFilePath)    if err != nil {        return nil, err    }    defer file.Close()    return io.ReadAll()}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go