FileUtils.go 966 Bytes
Newer Older
吴贤德's avatar
吴贤德 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
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
}