97_Go基础_1_65 ioutil
1 package main 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "os" 7 ) 8 9 func main() { 10 /* 11 ioutil包: 12 ReadFile() 13 WriteFile() 14 ReadDir() 15 .. 16 */ 17 18 // 1.读取文件中的所有的数据 19 // fileName := "D:\\Go\\web2\\aa.txt" 20 // data, err := ioutil.ReadFile(fileName) 21 // fmt.Println(err) 22 // fmt.Println(data) // [97 97 13 ... 23 // fmt.Println(string(data)) 24 25 // 2.写入数据 26 // fileName := "D:\\Go\\web2\\bb.txt" 27 // s1 := "床前明月光,地上鞋三双" 28 // err := ioutil.WriteFile(fileName, []byte(s1), os.ModePerm) // 重写覆盖所有 29 // fmt.Println(err) 30 31 // 3.ReadAll() 32 // s2 := "王二狗和李小花是两个好朋友,Ruby就是我,也是他们的朋友" 33 // r1 := strings.NewReader(s2) 34 // data, err := ioutil.ReadAll(r1) 35 // fmt.Println(err) 36 // fmt.Println(data) // [231 142 139 37 // fmt.Println(string(data)) 38 39 // 4.ReadDir(),读取一个目录下的子内容:子文件和子目录,但是只能读取一层 40 // dirName := "D:\\Go\\web2" 41 // fileInfos, err := ioutil.ReadDir(dirName) 42 // if err != nil { 43 // fmt.Println(err) 44 // return 45 // } 46 // fmt.Println(len(fileInfos)) 47 // for i := 0; i < len(fileInfos); i++ { 48 // fmt.Printf("%#v\n", fileInfos[i]) 49 // /* 50 // &os.fileStat{ 51 // name:"aa.txt", 52 // FileAttributes:0x20, 53 // CreationTime:syscall.Filetime{ 54 // LowDateTime:0x9da022ec, 55 // HighDateTime:0x1d7e81b 56 // }, 57 // LastAccessTime:syscall.Filetime{ 58 // LowDateTime:0x9da022ec, 59 // HighDateTime:0x1d7e81b 60 // }, 61 // LastWriteTime:syscall.Filetime{ 62 // LowDateTime:0xe680f126, 63 // HighDateTime:0x1d7ec06 64 // }, 65 // FileSizeHigh:0x0, 66 // FileSizeLow:0x1a, 67 // Reserved0:0x0, 68 // filetype:0x0, 69 // Mutex:sync.Mutex{ 70 // state:0, 71 // sema:0x0 72 // }, 73 // path:"D:\\Go\\web2", 74 // vol:0x0, 75 // idxhi:0x0, 76 // idxlo:0x0, 77 // appendNameToPath:true 78 // } 79 // */ 80 // fmt.Printf("第 %d 个:名称:%s,是否是目录:%t\n", i, fileInfos[i].Name(), fileInfos[i].IsDir()) 81 // /* 82 // 6 83 // 第 0 个:名称:aa.txt,是否是目录:false 84 // 第 1 个:名称:bb.txt,是否是目录:false 85 // 第 2 个:名称:demo.go,是否是目录:false 86 // 第 3 个:名称:dir1,是否是目录:true 87 // 第 4 个:名称:test.png,是否是目录:false 88 // 第 5 个:名称:user.db,是否是目录:false 89 // */ 90 // } 91 92 // 5.临时目录和临时文件 93 dir, err := ioutil.TempDir("D:\\Go\\web2\\dir1", "Test") // 创建临时目录 Test 94 if err != nil { 95 fmt.Println(err) 96 return 97 } 98 defer os.Remove(dir) 99 fmt.Println(dir) // D:\Go\web2\dir1\Test1160668805 100 101 file, err := ioutil.TempFile(dir, "text.txt") // 创建临时文件 102 if err != nil { 103 fmt.Println(err) 104 return 105 } 106 defer os.Remove(file.Name()) 107 fmt.Println(file.Name()) 108 109 }