go文件写入

package main

import (
	"bufio"
	"fmt"
	"io/ioutil"
	"os"
)

func main()  {
	/*
	模式
	os.O_WRONLY //只写
	os.O_CREATE //创建文件
	os.O_RDONLY //只读
	os.O_RDWR	//读写
	os.O_TRUNC	//清空
	os.O_APPEND //追加

	perm:文件权限 ,一个八进制数。
	r(读)04 ,w(写)02, x(执行)01
	*/
	//方式一
	file ,err := os.OpenFile("./test.txt",os.O_CREATE|os.O_APPEND,0666)
	if err != nil {
		fmt.Println(err)
	}
	file.Write([]byte("22222222222222222222")) //写入字节切片数据
	file.WriteString("11111111111111\n") //直接写入字符串数据
	file.Close()
	//方式二(bufio)
	file ,err := os.OpenFile("./test.txt",os.O_CREATE|os.O_APPEND,0666)
	if err != nil {
		fmt.Println(err)
	}
	defer file.Close()
	writer := bufio.NewWriter(file)
	writer.WriteString("333333333333333\n") //先写入缓存
	writer.Flush() //将缓存中的内容写入文件
	//方式二(ioutil)
	err := ioutil.WriteFile("./test.txt",[]byte("44444444444"),0666) //直接覆盖原来的内容
	if  err != nil {
		fmt.Println(err)
	}
}

  

posted @ 2021-01-14 00:02  FinnYY  阅读(395)  评论(0编辑  收藏  举报