美文网首页
golang判断文件或文件夹是否存在

golang判断文件或文件夹是否存在

作者: 五岁小孩 | 来源:发表于2021-01-27 22:39 被阅读0次

    go判断文件或文件夹是否存在

    • 文件/文件夹是否存在

      /**
      * function 判断文件/文件夹是否存在
      * param   path: 文件/文件夹的路径
      * return    bool:true存在,false不存在
      *             error:存在返回nil,不存在返回错误
      */
      func FileAndDirIsExistCommonService(path string) (bool, error) {
        fileInfo, erByStat := os.Stat(path)
        if erByStat != nil {
            logs.Error("os stat %s error......%s", path, erByStat.Error())
            //该判断主要是部分文件权限问题导致os.Stat()出错,具体看业务启用
            //使用os.IsNotExist()判断为true,说明文件或文件夹不存在
            //if os.IsNotExist(erByStat) {
            //  logs.Error("%s is not exist", erByStat.Error())
            //  return false, erByStat
            //}else{
            //文件/文件夹存在
            //return true, nil
            // }
            return false, erByStat
        }
          //打印名称
        fmt.Printf("File/Dir name=%s", fileInfo.Name())
        return true, nil
      }
      
      

      有些代码会使用==os.Open==来完成上述工作;

      不过最好不要这么做,因为虽然两者完成的功能没有区别

      但在调用开销方面,stat小于open;

      而且对于判断文件是否存在;

      检查它的元数据要比直接尝试打开它更加合理

    相关文章

      网友评论

          本文标题:golang判断文件或文件夹是否存在

          本文链接:https://www.haomeiwen.com/subject/iomonktx.html