文件夹及文件相关使用方法
// 判断文件、文件夹是否存在
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 + "文件、文件夹不存在!")
}
}
}
func Files() {
/*
ioutil.WriteFile() 打开一个文件,文件不存在就添加一个。先清空文件内容,再写入
ModePerm 0777
*/
err := ioutil.WriteFile("log_1.log", []byte("你好" + "\n"), os.ModePerm)
if err != nil {
fmt.Println(err.Error())
}
/*
os.OpenFile() 追加内容到文件
O_RDWR 读写模式打开文件
O_APPEND 写操作时将数据附加到文件尾部
O_CREATE 如果不存在将创建一个新文件
ModePerm 0777
*/
file, err := os.OpenFile("log_2.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
if err != nil {
fmt.Println(err.Error())
} else {
file.WriteString("你好" + "\n")
}
// 关闭文件
defer file.Close()
}
有疑问加站长微信联系(非本文作者)