判断文件或者目录是否存在, 如果目录不存在, 则创建
- 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
- }
来源: http://www.bubuko.com/infodetail-3366186.html