GO文件读写02---写文件

缓冲式写入文件

func main034() {
	//创建并写入
	//file, err := os.OpenFile("测试文件", os.O_CREATE|os.O_WRONLY, 0666)

	//追加写入
	//file, err := os.OpenFile("测试文件1", os.O_WRONLY|os.O_APPEND, 0)

	//覆盖写入
	file, err := os.OpenFile("测试文件2", os.O_WRONLY|os.O_TRUNC, 0)
	if err != nil {
		println("文件打开失败")
		return
	}else {
		//创建文件的缓冲写出器
		writer := bufio.NewWriter(file)

		//持续写出内容
		//writer.WriteString("电车之狼2\n")
		//反引号内部的文本会保留原始格式(没有任何特殊字符,例如转义字符)
		writer.WriteString(`aaaaaa
	bbbbbbbbbb
		ccccccccc`)
		//清空缓冲区,立刻写出到磁盘文件
		writer.Flush()
		println("写出完毕")
	}
	defer file.Close()
}

  

便携式写入文件

func main() {
	//注意写出的内容必须是原始字节
	error := ioutil.WriteFile("测试文件21", []byte("波兰蠢驴"), 0)
	if error != nil{
		println("write fail,err=",error)
	}
	println("写出成功")

}

  

判断文件是否存在

func IsFileExist(filename string) bool{
	//fileInfo, err := os.Stat("测试文件21")
	fileInfo, err := os.Stat(filename)
	var exist bool
	if err == nil && fileInfo != nil{
		fmt.Println("文件存在:",fileInfo.Name())
		exist = true
	}else if os.IsNotExist(err){
		fmt.Println("文件不存在")
		exist = false
	}else {
		fmt.Println("灵异事件")
	}
	return exist
}

func main() {
	exist := IsFileExist("测试文件21")
	fmt.Println(exist)
}

  

posted @ 2019-11-30 17:05  Ethan_Cheng  阅读(205)  评论(0编辑  收藏  举报