文件夹及文件相关使用方法
// 判断文件、文件夹是否存在
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 Mkdir() {
dir := "log"
// 创建文件夹
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
fmt.Println(dir + "文件夹已存在!")
} else {
// 文件夹名称,权限
err := os.Mkdir(dir, os.ModePerm)
if err != nil{
fmt.Println(dir + "文件夹创建失败:", err.Error())
} else {
fmt.Println(dir + "文件夹创建成功!")
}
}
}
}
func RemoveDir() {
// 删除文件
dir := "log"
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
// os.RemoveAll 是遍历删除,文件夹及文件均可使用
err := os.RemoveAll(dir)
if err != nil {
fmt.Println(dir + "删除失败:", err.Error())
} else {
fmt.Println(dir + "删除成功!")
}
} else {
fmt.Println(dir + "文件、文件夹不存在!")
}
}
}
// WriteFile
func WriteFile(filename string, s string) error {
return ioutil.WriteFile(filename, []byte(s), os.ModePerm)
}
// Write
func Write(filename string, s string) (err error) {
f, err := os.OpenFile(filename ,os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
if err != nil {
return
}
defer f.Close()
_, err = f.Write([]byte(s))
return
}