为什么 fmt.Fprint 不能与 bufio.Writer 一起使用?

问题描述 投票:0回答:1

在此输入图像描述在此输入图像描述 在此输入图像描述在此输入图像描述

func main() {
    a := "bebra"
    f, _ := os.Create("bebra.txt")
    // w := bufio.NewWriter(f)
    fmt.Fprint(f, a)
    // fmt.Fprint(w, "bebra")
}

如果我使用 f 变量写入文件,我的文件中有文本,但如果我使用 w 变量,我有空文件。为什么 golang 会这样工作?我记得,buffio.Writer 实现了 io.Writer。

file go
1个回答
0
投票

您必须刷新缓冲的写入器。

func main() {
    f, _ := os.Create("bebra.txt")
    defer f.Close()
    w := bufio.NewWriter(f)
    fmt.Fprint(w, "bebra")
    w.Flush() // Add this line!
}
© www.soinside.com 2019 - 2024. All rights reserved.