在golang中有多种文件读取的方式,这里自己做了个总结,可以根据自己的喜好合理选择。 总结来说,主要就是如下几种:
- 实现io.Reader接口的对象r,调用对应的r.Read()方法
- 实现io.Reader接口的对象r,传入io.ReadFull()方法,进行读取
- 使用”io/ioutil” 提供的ioutil.ReadAll()方法
- 使用”bufio”包提供的基于缓冲区的io.Reader接口实现,进行文件读取
姿势1
1 | //BasicFileRead 内部使用Reader.Read()循环调用来实现文件读取 |
姿势2
1 | //BasicIOReadfull 内部使用io.ReadFull 循环调用去处理文件读取 |
姿势3
1 | //IOUtilReadall 使用io/ioutil包提供的ioutil.ReadAll方法,去读取全部的文件内容 |
姿势4
1 | //BufIORead 使用基于缓冲区的读写进行文件读取 |
完整代码
1 | package main |
自己实现一个去除空格的文件读取对象
1 | package main |
参考:
1.Golang学习 - io/ioutil 包
2.Golang学习 - io 包
3.GO语言基础进阶教程:bufio包