go语言如何判断一个文件是否存在

这篇文章主要介绍“go语言如何判断一个文件是否存在”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“go语言如何判断一个文件是否存在”文章能帮助大家解决问题。

公司主营业务:成都网站设计、网站建设、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出托克托免费做网站回馈大家。

在go语言中,判断一个文件是否存在,需要使用到“os.Stat()”函数,根据该函数返回的error接口的信息来进行判断;语法“_, err := os.Stat(path) if err == nil{return true, nil}if os.IsNotExist(err){return false, nil}”。如果返回的error为空,则说明文件是存在的。

在 Golang 中,判断 文件 或者目录是否存在,需要使用到 os.Stat 函数,根据 os.Stat 函数返回的 error 接口的信息来判断。

Go语言判断文件是否存在的语法

_, err := os.Stat(path)
if err == nil {
    return true, nil
}
if os.IsNotExist(err) {
    return false, nil
}

说明:

使用 os.Stat 获取目录信息,如果返回的 error 为空,那么说明文件是存在的,如果返回的错误信息是 os.IsNotExist 说明文件是不存在的。

判断文件是否存在的案例

package main
import (
	"fmt"
	"os"
)
func main() {
	var(
		fileName = "C:/haicoder.txt"
	)
	_, err := os.Stat(fileName)
	if err == nil{
		fmt.Println("File exist")
		return
	}
	if os.IsNotExist(err){
		fmt.Println("File not exist")
		return
	}
	fmt.Println("File error")
	return
}

程序运行后,控制台输出如下:

go语言如何判断一个文件是否存在

使用 os.Stat 获取文件的信息,根据返回的错误信息判断文件是否存在,如果 err 是空,那么说明文件是存在的,如果返回的 err 不是空,并且是 IsNotExist ,那么说明文件不存在。

因为,我们运行程序时,文件 “C:/haicoder.txt” 不存在,因此,程序输出了 “File not exist”,现在,我们创建文件 “C:/haicoder.txt”,再次运行程序,控制台输出如下:

go语言如何判断一个文件是否存在

此时,我们看到,程序输出了 “File exist”。

Go语言判断文件是否存在总结

_, err := os.Stat(path)
if err == nil {
    return true, nil
}
if os.IsNotExist(err) {
    return false, nil
}

使用 os.Stat 获取目录信息,如果返回的 error 为空,那么说明文件是存在的,如果返回的错误信息是 os.IsNotExist 说明文件是不存在的。我们也可以将该功能封装为一个函数:

func PathExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}

关于“go语言如何判断一个文件是否存在”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。

名称栏目:go语言如何判断一个文件是否存在
当前路径:https://www.cdcxhl.com/article22/iicdjc.html

成都网站建设公司_创新互联,为您提供全网营销推广动态网站营销型网站建设云服务器网页设计公司建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司