Go基础_1_65 ioutil
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
/*
ioutil包:
ReadFile()
WriteFile()
ReadDir()
..
*/
// 1.读取文件中的所有的数据
// fileName := "D:\\Go\\web2\\aa.txt"
// data, err := ioutil.ReadFile(fileName)
// fmt.Println(err)
// fmt.Println(data) // [97 97 13 ...
// fmt.Println(string(data))
// 2.写入数据
// fileName := "D:\\Go\\web2\\bb.txt"
// s1 := "床前明月光,地上鞋三双"
// err := ioutil.WriteFile(fileName, []byte(s1), os.ModePerm) // 重写覆盖所有
// fmt.Println(err)
// 3.ReadAll()
// s2 := "王二狗和李小花是两个好朋友,Ruby就是我,也是他们的朋友"
// r1 := strings.NewReader(s2)
// data, err := ioutil.ReadAll(r1)
// fmt.Println(err)
// fmt.Println(data) // [231 142 139
// fmt.Println(string(data))
// 4.ReadDir(),读取一个目录下的子内容:子文件和子目录,但是只能读取一层
// dirName := "D:\\Go\\web2"
// fileInfos, err := ioutil.ReadDir(dirName)
// if err != nil {
// fmt.Println(err)
// return
// }
// fmt.Println(len(fileInfos))
// for i := 0; i < len(fileInfos); i++ {
// fmt.Printf("%#v\n", fileInfos[i])
// /*
// &os.fileStat{
// name:"aa.txt",
// FileAttributes:0x20,
// CreationTime:syscall.Filetime{
// LowDateTime:0x9da022ec,
// HighDateTime:0x1d7e81b
// },
// LastAccessTime:syscall.Filetime{
// LowDateTime:0x9da022ec,
// HighDateTime:0x1d7e81b
// },
// LastWriteTime:syscall.Filetime{
// LowDateTime:0xe680f126,
// HighDateTime:0x1d7ec06
// },
// FileSizeHigh:0x0,
// FileSizeLow:0x1a,
// Reserved0:0x0,
// filetype:0x0,
// Mutex:sync.Mutex{
// state:0,
// sema:0x0
// },
// path:"D:\\Go\\web2",
// vol:0x0,
// idxhi:0x0,
// idxlo:0x0,
// appendNameToPath:true
// }
// */
// fmt.Printf("第 %d 个:名称:%s,是否是目录:%t\n", i, fileInfos[i].Name(), fileInfos[i].IsDir())
// /*
// 6
// 第 0 个:名称:aa.txt,是否是目录:false
// 第 1 个:名称:bb.txt,是否是目录:false
// 第 2 个:名称:demo.go,是否是目录:false
// 第 3 个:名称:dir1,是否是目录:true
// 第 4 个:名称:test.png,是否是目录:false
// 第 5 个:名称:user.db,是否是目录:false
// */
// }
// 5.临时目录和临时文件
dir, err := ioutil.TempDir("D:\\Go\\web2\\dir1", "Test") // 创建临时目录 Test
if err != nil {
fmt.Println(err)
return
}
defer os.Remove(dir)
fmt.Println(dir) // D:\Go\web2\dir1\Test1160668805
file, err := ioutil.TempFile(dir, "text.txt") // 创建临时文件
if err != nil {
fmt.Println(err)
return
}
defer os.Remove(file.Name())
fmt.Println(file.Name())
}