
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断:
1、如果返回的错误为nil,说明文件或文件夹不存在
2、如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹存在
立即学习“go语言免费学习笔记(深入)”;
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)
}注:
本源码是我用过最好的淘客站源码。对于新站长很用帮助。重要!!注意上传完程序后要先登陆后台修改域名,否则会跳转到后台已设置的域名。 使用方法1:将文件夹里面的文件上传至您的空间根目录(不要在本地测试,本地测试期间功能将被限制,首页模板显示不正常!)2:访问网址http://您的网址/admin 账号:admin 密码:admin3:填写您基本网站信息,以及重要的淘客相关信息 声明:本程序使用权是本人
0
当我们的FileExist返回true时,其实文件并不一定存在。
当我们对目标path中的某一部分没有可读权限时,os.Lstat和syscall.Access同样会返回error,不过这个error不会让os.IsNotExist返回true。
当文件不存在而你对文件所在的目录或者它的上层目录没有访问权限时,FileExist依旧会返回true,bug就在这时发生了。
所以重要的一点是在判断文件是否存在前应该先判断自己对文件及其路径是否有访问权限。
更多golang知识请关注golang教程栏目。
以上就是golang判断文件是否存在的方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号