写入文件,文件不存在则创建,如在则追加内容
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)
}