| // Copyright 2015 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| package ioutil_test | |
| import ( | |
| "fmt" | |
| "io/ioutil" | |
| "log" | |
| "os" | |
| "path/filepath" | |
| "strings" | |
| ) | |
| func ExampleReadAll() { | |
| 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 ExampleReadDir() { | |
| files, err := ioutil.ReadDir(".") | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| for _, file := range files { | |
| fmt.Println(file.Name()) | |
| } | |
| } | |
| func ExampleTempDir() { | |
| 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 ExampleTempDir_suffix() { | |
| parentDir := os.TempDir() | |
| logsDir, err := ioutil.TempDir(parentDir, "*-logs") | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| defer os.RemoveAll(logsDir) // clean up | |
| // Logs can be cleaned out earlier if needed by searching | |
| // for all directories whose suffix ends in *-logs. | |
| globPattern := filepath.Join(parentDir, "*-logs") | |
| matches, err := filepath.Glob(globPattern) | |
| if err != nil { | |
| log.Fatalf("Failed to match %q: %v", globPattern, err) | |
| } | |
| for _, match := range matches { | |
| if err := os.RemoveAll(match); err != nil { | |
| log.Printf("Failed to remove %q: %v", match, err) | |
| } | |
| } | |
| } | |
| func ExampleTempFile() { | |
| 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) | |
| } | |
| } | |
| func ExampleTempFile_suffix() { | |
| 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 ExampleReadFile() { | |
| content, err := ioutil.ReadFile("testdata/hello") | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| fmt.Printf("File contents: %s", content) | |
| // Output: | |
| // File contents: Hello, Gophers! | |
| } | |
| func ExampleWriteFile() { | |
| message := []byte("Hello, Gophers!") | |
| err := ioutil.WriteFile("hello", message, 0644) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| } |