加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

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

发布时间:2023-07-13 15:00:08 所属栏目:语言 来源:
导读:这篇文章主要介绍“go语言如何判断一个文件是否存在”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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 接口的信息来判断。
 
_, 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
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!