snippetgoCritical
How can I read a whole file into a string variable
Viewed 0 times
howwholevariablefilecanstringintoread
Problem
I have lots of small files, I don't want to read them line by line.
Is there a function in Go that will read a whole file into a string variable?
Is there a function in Go that will read a whole file into a string variable?
Solution
Edit: the
Old answer:
Use
ReadFile reads the file named by filename and returns the contents. A successful call
returns err == nil, not err == EOF. Because ReadFile reads the whole file, it does not treat
an EOF from Read as an error to be reported.
You will get a
ioutil package is now deprecated: "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details." Because of Go's compatibility promise, ioutil.ReadMe is safe, but @openwonk's updated answer is better for new code.Old answer:
Use
ioutil.ReadFile:func ReadFile(filename string) ([]byte, error)ReadFile reads the file named by filename and returns the contents. A successful call
returns err == nil, not err == EOF. Because ReadFile reads the whole file, it does not treat
an EOF from Read as an error to be reported.
You will get a
[]byte instead of a string. It can be converted if really necessary:s := string(buf)Code Snippets
func ReadFile(filename string) ([]byte, error)s := string(buf)Context
Stack Overflow Q#13514184, score: 386
Revisions (0)
No revisions yet.