go 判断文件/目录是否存在、区分文件和目录

/ go / 没有评论 / 1667浏览

go 判断文件/目录是否存在、区分文件和目录

判断文件/目录是否存在


package main

import (
    "os"
    "fmt"
)

func main()  {
    file := "/root/data/testFile.txt"
    fmt.Println(IsExist(file))
}

// IsExist checks whether a file or directory exists.
// It returns false when the file or directory does not exist.
func IsExist(f string) bool {
    _, err := os.Stat(f)
    return err == nil || os.IsExist(err)
}

区分目录和文件

package main

import (
    "os"
    "fmt"
)

func main()  {
    file := "/root/data/testFile.txt"
    fmt.Printf("%s is file: %v\n", file, IsFile(file))
}

// IsFile checks whether the path is a file,
// it returns false when it's a directory or does not exist.
func IsFile(f string) bool {
    fi, e := os.Stat(f)
    if e != nil {
        return false
    }
    return !fi.IsDir()
}