判斷文件或者目錄是否存在,如果目錄不存在,則創建
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
}