使用golang将字节数组转换回文件

问题描述 投票:0回答:3

有没有办法将字节数组写入文件?我有文件名和文件扩展名(如 temp.xml)。

file go decode
3个回答
25
投票

听起来您只想使用标准库中的

ioutil.WriteFile
函数。

https://golang.org/pkg/io/ioutil/#WriteFile

它看起来像这样:

permissions := 0644 // or whatever you need
byteArray := []byte("to be written to a file\n")
err := ioutil.WriteFile("file.txt", byteArray, permissions)
if err != nil { 
    // handle error
}

2
投票

根据 https://golang.org/pkg/io/ioutil/#WriteFile,从 Go 1.16 开始,此函数已被弃用。使用 https://pkg.go.dev/os#WriteFile 代替(从 1.16 开始,

ioutil.WriteFile
只需调用
os.WriteFile
)。

否则,杰弗里·马丁内斯的答案仍然是正确的:

permissions := 0644 // or whatever you need
byteArray := []byte("to be written to a file\n")
err := os.WriteFile("file.txt", byteArray, permissions)
if err != nil { 
    // handle error
}

0
投票

以上答案都不正确。 这些是写入字节切片,而不是字节数组。尝试:

var arr [10]byte // 一个真正的数组,而不是切片 二进制.Write(文件, 二进制.LittleEndian, arr)

© www.soinside.com 2019 - 2024. All rights reserved.