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 }
原文地址:https://www.cnblogs.com/luwei0915/p/15662160.html