package File

import (
	"os"
)

/*
判断文件或文件夹是否存在
   如果返回的错误为nil,说明文件或文件夹存在
   如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在
   如果返回的错误为其它类型,则不确定是否在存在
*/
func PathExists(path string) (bool, error) {
	_, err := os.Stat(path)
	if err == nil {
		return true, nil
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	return false, err
}

//创建目录
func MakeDir(dir string) (bool, error) {
	b, err := PathExists(dir)
	if !b {
		err = os.MkdirAll(dir, os.ModePerm)
		if err == nil {
			b = true
		}
	}
	return b, err
}

//写文件
func WriteFile(filename string, content string) error {
	file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0766) //以读写方式打开文件,如果不存在,则创建
	defer file.Close()
	if err != nil {
		return err
	}
	file.WriteString(content)
	return nil
}