Home
Search
ioutil.WriteFile, os.Create (Write File to Disk)Write files to disk with ioutil.WriteFile and os.Create. Use strings and byte slices.
Golang
This page was last reviewed on Dec 20, 2022.
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.
WriteFile This method receives the target file's path, the bytes we wish to write, and a flag value (zero works fine for testing).
Output 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.
Flush 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() }
ABC
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.
File
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.
No updates found for this page.
Home
Changes
© 2007-2023 Sam Allen.