golang 用os.OpenFile写入文件

发布时间 2024-01-10 16:07:56作者: 熊先生不开玩笑
func main() {
	filename := "测试.txt"
	// 如果文件存在,则追加写入,如果文件不存在则新建文件写入
	//f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_APPEND, os.ModePerm)

	// 本行是无法写入文件的,因为以 O_RDONLY 只读方式打开
	//f, err := os.OpenFile(filename, os.O_RDONLY|os.O_CREATE|os.O_APPEND, os.ModePerm)

	// 如果文件存在,则覆盖写入,如果文件不存在则新建文件写入
	//f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm)

	// 如果文件存在则失败,不存在才创建文件写入
	f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_EXCL, os.ModePerm)

	defer f.Close()
	if err != nil {
		fmt.Println("err", err)
		return
	}
	i, e := f.WriteString("第一行\n")
	fmt.Println(i, e)
	i, e = f.WriteString("第二行\n")
	i, e = f.WriteString("第三行\n")

}