package ioutil
import "io/ioutil"
Package ioutil implements some I/O utility functions.
Index ¶
- Variables
- func NopCloser(r io.Reader) io.ReadCloser
- func ReadAll(r io.Reader) ([]byte, error)
- func ReadDir(dirname string) ([]os.FileInfo, error)
- func ReadFile(filename string) ([]byte, error)
- func TempDir(dir, prefix string) (name string, err error)
- func TempFile(dir, pattern string) (f *os.File, err error)
- func WriteFile(filename string, data []byte, perm os.FileMode) error
Examples ¶
Variables ¶
Discard is an io.Writer on which all Write calls succeed without doing anything.
Functions ¶
func NopCloser ¶
func NopCloser(r io.Reader) io.ReadCloser
NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r.
func ReadAll ¶
ReadAll reads from r until an error or EOF and returns the data it read. A successful call returns err == nil, not err == EOF. Because ReadAll is defined to read from src until EOF, it does not treat an EOF from Read as an error to be reported.
Example¶
Code:play
package main import ( "fmt" "io/ioutil" "log" "strings" ) func main() { r := strings.NewReader("Go is a general-purpose language designed with systems programming in mind.") b, err := ioutil.ReadAll(r) if err != nil { log.Fatal(err) } fmt.Printf("%s", b) }
Output:
Go is a general-purpose language designed with systems programming in mind.
func ReadDir ¶
ReadDir reads the directory named by dirname and returns a list of directory entries sorted by filename.
Example¶
Code:play
package main import ( "fmt" "io/ioutil" "log" ) func main() { files, err := ioutil.ReadDir(".") if err != nil { log.Fatal(err) } for _, file := range files { fmt.Println(file.Name()) } }
func ReadFile ¶
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.
Example¶
Code:play
package main import ( "fmt" "io/ioutil" "log" ) func main() { content, err := ioutil.ReadFile("testdata/hello") if err != nil { log.Fatal(err) } fmt.Printf("File contents: %s", content) }
Output:
File contents: Hello, Gophers!
func TempDir ¶
TempDir creates a new temporary directory in the directory dir with a name beginning with prefix and returns the path of the new directory. If dir is the empty string, TempDir uses the default directory for temporary files (see os.TempDir). Multiple programs calling TempDir simultaneously will not choose the same directory. It is the caller's responsibility to remove the directory when no longer needed.
Example¶
Code:play
package main
import (
"io/ioutil"
"log"
"os"
"path/filepath"
)
func main() {
content := []byte("temporary file's content")
dir, err := ioutil.TempDir("", "example")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(dir) // clean up
tmpfn := filepath.Join(dir, "tmpfile")
if err := ioutil.WriteFile(tmpfn, content, 0666); err != nil {
log.Fatal(err)
}
}
func TempFile ¶
TempFile creates a new temporary file in the directory dir, opens the file for reading and writing, and returns the resulting *os.File. The filename is generated by taking pattern and adding a random string to the end. If pattern includes a "*", the random string replaces the last "*". If dir is the empty string, TempFile uses the default directory for temporary files (see os.TempDir). Multiple programs calling TempFile simultaneously will not choose the same file. The caller can use f.Name() to find the pathname of the file. It is the caller's responsibility to remove the file when no longer needed.
Example¶
Code:play
package main
import (
"io/ioutil"
"log"
"os"
)
func main() {
content := []byte("temporary file's content")
tmpfile, err := ioutil.TempFile("", "example")
if err != nil {
log.Fatal(err)
}
defer os.Remove(tmpfile.Name()) // clean up
if _, err := tmpfile.Write(content); err != nil {
log.Fatal(err)
}
if err := tmpfile.Close(); err != nil {
log.Fatal(err)
}
}
Example (Suffix)¶
Code:play
package main
import (
"io/ioutil"
"log"
"os"
)
func main() {
content := []byte("temporary file's content")
tmpfile, err := ioutil.TempFile("", "example.*.txt")
if err != nil {
log.Fatal(err)
}
defer os.Remove(tmpfile.Name()) // clean up
if _, err := tmpfile.Write(content); err != nil {
tmpfile.Close()
log.Fatal(err)
}
if err := tmpfile.Close(); err != nil {
log.Fatal(err)
}
}
func WriteFile ¶
WriteFile writes data to a file named by filename. If the file does not exist, WriteFile creates it with permissions perm; otherwise WriteFile truncates it before writing.
Source Files ¶
- Version
- v1.11.0-beta.2
- Published
- Jul 19, 2018
- Platform
- windows/amd64
- Imports
- 9 packages
- Last checked
- 1 minute ago –
Tools for package owners.