github.com/ice-blockchain/go/src@v0.0.0-20240403114104-1564d284e521/io/ioutil/example_test.go (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package ioutil_test 6 7 import ( 8 "fmt" 9 "io/ioutil" 10 "log" 11 "os" 12 "path/filepath" 13 "strings" 14 ) 15 16 func ExampleReadAll() { 17 r := strings.NewReader("Go is a general-purpose language designed with systems programming in mind.") 18 19 b, err := ioutil.ReadAll(r) 20 if err != nil { 21 log.Fatal(err) 22 } 23 24 fmt.Printf("%s", b) 25 26 // Output: 27 // Go is a general-purpose language designed with systems programming in mind. 28 } 29 30 func ExampleReadDir() { 31 files, err := ioutil.ReadDir(".") 32 if err != nil { 33 log.Fatal(err) 34 } 35 36 for _, file := range files { 37 fmt.Println(file.Name()) 38 } 39 } 40 41 func ExampleTempDir() { 42 content := []byte("temporary file's content") 43 dir, err := ioutil.TempDir("", "example") 44 if err != nil { 45 log.Fatal(err) 46 } 47 48 defer os.RemoveAll(dir) // clean up 49 50 tmpfn := filepath.Join(dir, "tmpfile") 51 if err := ioutil.WriteFile(tmpfn, content, 0666); err != nil { 52 log.Fatal(err) 53 } 54 } 55 56 func ExampleTempDir_suffix() { 57 parentDir := os.TempDir() 58 logsDir, err := ioutil.TempDir(parentDir, "*-logs") 59 if err != nil { 60 log.Fatal(err) 61 } 62 defer os.RemoveAll(logsDir) // clean up 63 64 // Logs can be cleaned out earlier if needed by searching 65 // for all directories whose suffix ends in *-logs. 66 globPattern := filepath.Join(parentDir, "*-logs") 67 matches, err := filepath.Glob(globPattern) 68 if err != nil { 69 log.Fatalf("Failed to match %q: %v", globPattern, err) 70 } 71 72 for _, match := range matches { 73 if err := os.RemoveAll(match); err != nil { 74 log.Printf("Failed to remove %q: %v", match, err) 75 } 76 } 77 } 78 79 func ExampleTempFile() { 80 content := []byte("temporary file's content") 81 tmpfile, err := ioutil.TempFile("", "example") 82 if err != nil { 83 log.Fatal(err) 84 } 85 86 defer os.Remove(tmpfile.Name()) // clean up 87 88 if _, err := tmpfile.Write(content); err != nil { 89 log.Fatal(err) 90 } 91 if err := tmpfile.Close(); err != nil { 92 log.Fatal(err) 93 } 94 } 95 96 func ExampleTempFile_suffix() { 97 content := []byte("temporary file's content") 98 tmpfile, err := ioutil.TempFile("", "example.*.txt") 99 if err != nil { 100 log.Fatal(err) 101 } 102 103 defer os.Remove(tmpfile.Name()) // clean up 104 105 if _, err := tmpfile.Write(content); err != nil { 106 tmpfile.Close() 107 log.Fatal(err) 108 } 109 if err := tmpfile.Close(); err != nil { 110 log.Fatal(err) 111 } 112 } 113 114 func ExampleReadFile() { 115 content, err := ioutil.ReadFile("testdata/hello") 116 if err != nil { 117 log.Fatal(err) 118 } 119 120 fmt.Printf("File contents: %s", content) 121 122 // Output: 123 // File contents: Hello, Gophers! 124 } 125 126 func ExampleWriteFile() { 127 message := []byte("Hello, Gophers!") 128 err := ioutil.WriteFile("hello", message, 0644) 129 if err != nil { 130 log.Fatal(err) 131 } 132 }