8

Is there a way to write a byte array to a file? I have the file name and file extension(like temp.xml).

Jeffrey Martinez
  • 4,384
  • 2
  • 31
  • 36
Shailesh
  • 367
  • 1
  • 5
  • 15
  • 1
    [How to read/write from/to file?](http://stackoverflow.com/questions/1821811/how-to-read-write-from-to-file) – icza Sep 21 '15 at 05:51

2 Answers2

25

Sounds like you just want the ioutil.WriteFile function from the standard library.

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

It would look something like this:

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
}
Sid Shukla
  • 990
  • 1
  • 8
  • 33
Jeffrey Martinez
  • 4,384
  • 2
  • 31
  • 36
2

According to https://golang.org/pkg/io/ioutil/#WriteFile, as of Go 1.16 this function is deprecated. Use https://pkg.go.dev/os#WriteFile instead (ioutil.WriteFile simply calls os.WriteFile as of 1.16).

Otherwise, Jeffrey Martinez's answer remains correct:

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
}