(Go)13.判断文件或者目录是否存在
判断文件或者目录是否存在,如果目录不存在,则创建
package main
import (
"fmt"
"os"
)
func main() {
path := "d:/test.txt"
b, err := PathExists(path)
if err != nil {
fmt.Printf("PathExists(%s),err(%v)\n", path, err)
}
if b {
fmt.Printf("path %s 存在\n", path)
} else {
fmt.Printf("path %s 不存在\n", path)
err := os.Mkdir(path, os.ModePerm)
if err != nil {
fmt.Printf("mkdir failed![%v]\n", err)
} else {
fmt.Printf("mkdir success!\n")
}
}
}
/*
判断文件或文件夹是否存在
如果返回的错误为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
}