package os

func Stat(name string) (fi FileInfo, err error)
Stat返回一个描述name指定的文件对象的FileInfo。如果指定的文件对象是一个符号链接,返回的FileInfo描述该符号链接指向的文件的信息,本函数会尝试跳转该链接。如果出错,返回的错误值为PathError类型。
func *IsNotExist
(err error) bool
返回一个布尔值说明该错误是否表示一个文件或目录不存在。ErrNotExist和一些系统调用错误会使它返回真。
image.png

代码

  1. // 文件导入
  2. package main
  3. import (
  4. "fmt"
  5. "os"
  6. )
  7. func PathExists(path string) (bool, error) {
  8. fileInfo, err := os.Stat(path)
  9. fmt.Println("fileInfo = ", fileInfo)
  10. if err == nil {
  11. // 文件或者目录存在
  12. return true, nil
  13. }
  14. if os.IsNotExist(err) {
  15. // 不存在
  16. return false, nil
  17. }
  18. return false, err
  19. }
  20. func main() {
  21. filepath01 := "d:/abc.txt"
  22. // filepath02 := "d:/test.txt"
  23. // 判断文件或者目录是否存在
  24. ok, err := PathExists(filepath01)
  25. if err != nil {
  26. fmt.Printf("文件或者目录: %v 不存在", filepath01)
  27. return
  28. }
  29. if ok {
  30. fmt.Printf("文件或者目录: %v 存在", filepath01)
  31. }
  32. }