go写入文件,文件不存在则创建,如在则追加内容

 基础语法  2021-03-14  admin  5535  7472

写入文件,文件不存在则创建,如在则追加内容

package main

import (
	"fmt"
	"os"
)

// 写入文件,文件不存在则创建,如在则追加内容
func WriteFile(path string, str string) {
	_, b := IsFile(path)
	var f *os.File
	var err error
	if b {
		//打开文件,
		f, _ = os.OpenFile(path, os.O_APPEND, 0666)
	} else {
		//新建文件
		f, err = os.Create(path)
	}

	//使用完毕,需要关闭文件
	defer func() {
		err = f.Close()
		if err != nil {
			fmt.Println("err = ", err)
		}
	}()

	if err != nil {
		fmt.Println("err = ", err)
		return
	}
	_, err = f.WriteString(str)
	if err != nil {
		fmt.Println("err = ", err)
	}
}

// 判断路径是否存在
func IsExists(path string) (os.FileInfo, bool) {
	f, err := os.Stat(path)
	return f, err == nil || os.IsExist(err)
}

// 判断所给路径是否为文件夹
func IsDir(path string) (os.FileInfo, bool) {
	f, flag := IsExists(path)
	return f, flag && f.IsDir()
}

// 判断所给路径是否为文件
func IsFile(path string) (os.FileInfo, bool) {
	f, flag := IsExists(path)
	return f, flag && !f.IsDir()
}

func main() {
	path := "./demo.txt"
	str := "abcd\r\nefg我爱学习"
	WriteFile(path, str)
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!