246_尚硅谷_创建文件并写入内容

1.写文件操作应用实例1.写文件操作应用实例

2.创建一个新文件, 写入内容 5句 “hello, Gardon”2.创建一个新文件, 写入内容 5句 “hello, Gardon”

package main

import (
	"bufio"
	"fmt"
	"os"
)

// 1) 创建一个新文件, 写入内容 5句 “hello, Gardon”
func main() {
	fmt.Printf("=============== 开始文件写入 ===============\n")
	// 1. 打开文件, C:\Users\wxe5szh\OneDrive - Bosch Group\PersonalDrive\task\golang_study\246_尚硅谷_创建文件并写入内容\files\abc.txt
	filePath := "C:/Users/wxe5szh/OneDrive - Bosch Group/PersonalDrive/task/golang_study/246_尚硅谷_创建文件并写入内容/files/abc.txt"
	// * 解释 os.OpenFile(文件路径, 只写模式 | 创建文件, 0666)
	file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0666)
	if err != nil {
		fmt.Printf("open file err = %v", err)
		return
	}

	// 及时关闭file句柄
	defer file.Close()
	// 准备写入内容 5句 “hello, Gardon”
	str := "hello, Gardon\n"
	// 写入时使用带缓存的 *Writer
	writer := bufio.NewWriter(file)

	for i := 0; i < 5; i++ {
		writer.WriteString(str)
	}

	// 因为writer是带缓存的,因此在调用WriterString方法时,
	// 其实内容是先写入到缓存, 所以需要调用Flush方法,将缓存的数据
	// 真正写入到文件中,否则文件中会丢失数据,会没有数据
	// ! 一定要写!!!!!
	writer.Flush()
	fmt.Printf("=============== 结束文件写入 ===============")
}

posted on 2026-02-24 15:00  与太阳肩并肩  阅读(1)  评论(0)    收藏  举报

导航