码迷,mamicode.com
首页 > 其他好文 > 详细

Go的文件读写几种方法

时间:2020-05-25 19:29:37      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:code   out   pre   读取   org   byte   def   一个   长度   

Go的文件读写几种方法

整个文件:ioutil

// ReadFile: 返回[]byte
data, err := ioutil.ReadFile("f")
// WriteFile
err := ioutil.WriteFile("f", []byte(str), 0777)

文件指针:Open+Read+Write

f, err := os.Open("f")
check(err)
defer f.Close()
buf := make([]byte, 1024)
// Read: 读取数据长度由缓冲变量决定
// 还有ReadAt,增加参数off,Read相当于ReadAt(buf, 0)
count, err := f.Read(buf)
// Write,同样有WriteAt,Seek
count, err := f.Write(buf)

带缓存IO:bufio

w := bufio.NewWriter(os.Stdout)
fmt.Fprint(w, "Hello, ")
fmt.Fprint(w, "world!")
w.Flush() // Don‘t forget to flush!

f, err := os.Open("f")
check(err)
// 得到一个带缓存的新Reader
reader := bufio.NewReader(f)
// 得到一个带缓存的新Writer
writer := bufio.NewWriter(f)

Go的文件读写几种方法

标签:code   out   pre   读取   org   byte   def   一个   长度   

原文地址:https://www.cnblogs.com/roastpiglet/p/12958328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!