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
") //直接写入字符串数据
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
") //先写入缓存
writer.Flush() //将缓存中的内容写入文件
//方式二(ioutil)
err := ioutil.WriteFile("./test.txt",[]byte("44444444444"),0666) //直接覆盖原来的内容
if err != nil {
fmt.Println(err)
}
}