ioutil.WriteFile, os.Create (Write File to Disk)Write files to disk with ioutil.WriteFile and os.Create. Use strings and byte slices.
This page was last reviewed on Mar 14, 2023.
WriteFile. A file can be written to disk. With Golang we can use a helper module like ioutil to do this easily. For other cases, a NewWriter can be used to write many parts.
Copy File
With ioutil, we can avoid calling os.Create and bufio.NewWriter. The ioutil.WriteFile method simplifies writing an entire file in one call.
Ioutil example. To begin, we have a string we want to write to a file ("Hello friend"). Then we convert this string to a byte slice so we can pass it to WriteFile.
Info WriteFile receives the target file's path, the bytes we wish to write, and a flag value (zero works fine for testing).
Result The string "Hello friend" is written to the file correctly. The permissions (in Linux) may need to be adjusted first.
package main import ( "fmt" "io/ioutil" ) func main() { // Get byte data to write to file. dataString := "Hello friend" dataBytes := []byte(dataString) // Use WriteFile to create a file with byte data. ioutil.WriteFile("/home/sam/example.txt", dataBytes, 0) fmt.Println("DONE") }
Hello friend
Os.create, bufio. We create a new Writer with the bufio.NewWriter function. The file handle we pass to NewWriter must have write access. We must use os.Create (not os.Open) to write a file.
Here We write the string "ABC" to a file on the disk. A new file is created if none exists.
Detail We use flush after writing to the file to ensure all the writes are executed before the program terminates.
package main import ( "bufio" "os" ) func main() { // Use os.Create to create a file for writing. f, _ := os.Create("C:\\programs\\file.txt") // Create a new writer. w := bufio.NewWriter(f) // Write a string to the file. w.WriteString("ABC") // Flush. w.Flush() }
A summary. With Golang we have a language that is well-optimized for writing files to disk. The ioutil module, as always, can reduce the amount of code needed to perform this common task.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Mar 14, 2023 (edit).
© 2007-2023 Sam Allen.