文件——创建文件并写入内容

package main

import (
“os”
“fmt”
“bufio”
)

/*
基本介绍
func OpenFile(name string.flag int,perm FileMode)(file File,err error)
说明:os.OpenFile时一个更一般性的文件打开函数,它回使用指定的选项(如O_RDONLY等)、指定的模式(如0666等)打开指定名称的文件,如果操作成功,返回的文件对象可用于I/O,如果出错,错误底层类型时
PathError。
第二个参数:文件打开模式(可以组合):

第三个参数:权限控制(linux)
r->4
w->2
x->1
详情参考尚硅谷-linux课程
/
/

基本应用实例-方式——
1)创建一个新文件,写入内容5句"hello,Gardon"
2)打开一个存在的文件中,将原来的内容覆盖成新的内容10句"你好,尚硅谷!"
3)打开一个存在的文件,在原来的内容追加内容"ABC!ENGLISHI"
4)打开一个存在的文件,将原来的内容读出显示在终端,并且追加5句"hello,北京!"

使用os.OpenFile(),bufio.NewWriter(),“Writer"的方法WriteString完成上面的任务。
*/
func main(){
//创建一个新文件,写入内容5句"hello,Gardon”
//1,打开文件"d:/abc.txt"
filePath:=“d:/abc.txt”
file,err:=os.OpenFile(filePath,os.O_WRONLY|os.O_CREATE,0666)
if err != nil{
fmt.Printf(“open file err=%v\n”,err)
return
}
//解释关闭file句柄
defer file.Close()

//准备写入5句"hello,Gardon"
str := "hello,Gardon\n"//\n表示换行符
//写入时,使用带缓存的*Writer
writer := bufio.NewWriter(file)
for i:=0;i<5;i++{
	writer.WriteString(str)
}
//因为writer时带缓存的,因此在调用WriterString方法时,其实
//内容时先写入到缓存的,所以需要调用Flush方法,将缓冲的数据
//真正写入到文件中,否则文件中回没有数据!!!
writer.Flush()//调用bufio包中的Flush方法

}
//

你可能感兴趣的:(创建文件并写入内容)