Whether a file or directory exists, if the directory does not exist, create
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 does not exist \ n", path)
err: = os.Mkdir (path, os.ModePerm)
if err != nil {
fmt.Printf("mkdir failed![%v]\n", err)
} else {
fmt.Printf("mkdir success!\n")
}
}
}
/*
Whether a file or folder exists
If an error is returned to nil, documentation or folder exists
If the wrong type of return used os.IsNotExist () determines true, described the file or folder does not exist
If an error is returned to another type, there is uncertainty whether in
*/
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
}