| // 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) | 
 | 	} | 
 | } |