在 Go 语言中,您可以借助IsNotExist()函数检查给定文件是否存在。如果此函数返回true,则表示已知错误报告指定的文件或目录已不存在,如果返回false,则表示给定的文件或目录存在。 ErrNotExist 以及一些系统调用错误也满足此方法。它是在 os 包下定义的,因此您必须在程序中导入 os 包才能访问 IsNotExist()函数。
句法:
func IsNotExist(e error) bool
示例 1:
// Golang program to illustrate how to check the
// given file exists or not in the default directory
package main
import (
"log"
"os"
)
var (
myfile *os.FileInfo
e error
)
func main() {
// Here Stat() function returns file info and
//if there is no file, then it will return an error
myfile, e := os.Stat("gfg.txt")
if e != nil {
// Checking if the given file exists or not
// Using IsNotExist() function
if os.IsNotExist(e) {
log.Fatal("File not Found !!")
}
}
log.Println("File Exist!!")
log.Println("Detail of file is:")
log.Println("Name: ", myfile.Name())
log.Println("Size: ", myfile.Size())
}
输出:
示例 2:
// Golang program to illustrate how to check
// the given file exists or not in given
// directory
package main
import (
"log"
"os"
)
var (
myfile *os.FileInfo
e error
)
func main() {
// Here Stat() function
// returns file info and
// if there is no file,
// then it will return an error
myfile, e := os.Stat("/Users/anki/Documents/new_folder/myfolder/hello.txt")
if e != nil {
// Checking if the given file exists or not
// Using IsNotExist() function
if os.IsNotExist(e) {
log.Fatal("File not Found !!")
}
}
log.Println("File Exist!!")
log.Println("Detail of file is:")
log.Println("Name: ", myfile.Name())
log.Println("Size: ", myfile.Size())
}
输出: