(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) ", path, err)
    }
    if b {
        fmt.Printf("path %s 存在 ", path)
    } else {
        fmt.Printf("path %s 不存在 ", path)
        err := os.Mkdir(path, os.ModePerm)
        if err != nil {
            fmt.Printf("mkdir failed![%v] ", err)
        } else {
            fmt.Printf("mkdir success! ")
        }
    }
}

/*
   判断文件或文件夹是否存在
   如果返回的错误为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
}
 
原文地址:https://www.cnblogs.com/lvcisco/p/12151148.html