重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
go语言如何判断文件是否存在?其实要解决这个问题也不难,这篇文章给出了相对应的分析和解答,下面我们一起来看看解决方法吧。
公司主营业务:成都做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出平桂免费做网站回馈大家。
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断:
1、如果返回的错误为nil,说明文件或文件夹不存在
2、如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹存在
3、如果返回的错误为其它类型,则不确定是否在存在
// 判断所给路径文件/文件夹是否存在 func Exists(path string) bool { _, err := os.Stat(path) //os.Stat获取文件信息 if err != nil { if os.IsExist(err) { return true } return false } return true } // 判断所给路径是否为文件夹 func IsDir(path string) bool { s, err := os.Stat(path) if err != nil { return false } return s.IsDir() } // 判断所给路径是否为文件 func IsFile(path string) bool { return !IsDir(path) }
注:
当我们的FileExist返回true时,其实文件并不一定存在。
当我们对目标path中的某一部分没有可读权限时,os.Lstat和syscall.Access同样会返回error,不过这个error不会让os.IsNotExist返回true。
当文件不存在而你对文件所在的目录或者它的上层目录没有访问权限时,FileExist依旧会返回true,bug就在这时发生了。
所以重要的一点是在判断文件是否存在前应该先判断自己对文件及其路径是否有访问权限。
看完这篇文章,你们学会go语言判断文件是否存在的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读。