Golang-100-Days/Day16-20(Go语言基础进阶)/day16_file操作.md at master · rubyhan1314/Golang-100-Days · GitHub
一、bufio包 读写文件
1) bufio包下的Reader类实现了Read()方法和Write()方法
2)和io包相比,虽然都是在读写文件,但是bufio包 通过缓冲 提高了文件读写的效率
o)创建Reader对象
1)ReadLine()
ReadLine 方法用于读取一行内容,并将内容返回为字节切片
2) ReadString();
ReadString方法用于读取直到指定分隔符的内容,返回值分别是 string
3) ReadBytes();
ReadBytes方法用于读取直到指定分隔符的内容,返回值分别是 字节数组
4)标准输入NewReader(os.Stdin)
fmt包下的Scanln()方法读取数据遇到空格时会停止读取,使用标准输入b2.ReadString("/n")读取输入的一行数据.
5) WriterString()
直接向文件写入字符串
二、ioutil包 读写文件,检索目录
1) ReadFile(fileName)
参数为文件路径,不需要打开文件。底层调用ReadAll()方法
2) WriteFile(fileName,[ ] byte(),os.ModePerm)
3) ReadAll()
读取对象所有数据,这里对象可以是实现了Reader接口的任何类型,这里使用标准输入创建一个strings.Reader
类型的对象。
4) ReadDir()
读取一个目录下的子内容。
5) TempDir() TempFile()
创建临时目录 临时文件
三、遍历目录下所有文件和目录
ReadDir()方法只显示子文件和子目录,使用递归遍历所有文件目录。
level参数用来表示递归层级,同时也代表了文件处于第几层。