您的位置 首页 技术

golang判断是否存在不存在就创建文件

一、判断文件或文件夹是否存在 golang 判断文件或者文件夹是否存在可以通过os.stat() 方法和os.IsExist() 方法来判断: func isExist(path …

一、判断文件或文件夹是否存在

golang 判断文件或者文件夹是否存在可以通过os.stat() 方法和os.IsExist() 方法来判断:

func isExist(path string)(bool){    _, err := os.Stat(path)    if err != nil{        if os.IsExist(err){            return true        }        if os.IsNotExist(err){            return false        }        fmt.Println(err)        return false    }    return true}

二、递归创建文件夹

递归文件夹用到os.MkdirAll() 方法:

func MkdirAll(path string, perm FileMode) error

第一个参数是路径,第二个是权限。如果文件夹不存在就创建,存在则不做任何操作。

三、测试代码

package mainimport (    "os"    "fmt")//判断文件或文件夹是否存在func isExist(path string)(bool){    _, err := os.Stat(path)    if err != nil{        if os.IsExist(err){            return true        }        if os.IsNotExist(err){            return false        }        fmt.Println(err)        return false    }    return true}func main(){    //递归创建文件夹    err := os.MkdirAll("./test/1/2", os.ModePerm)    if err != nil{        fmt.Println(err)        return    }    dirs := []string{"./test/1", "./test/2", "./test/1.txt"}    for _, v := range dirs{        if isExist(v){            fmt.Printf("%s is exist!", v)        }else{            fmt.Printf("%s is not exist!", v)        }    }}

在终端中执行:

ma@ma:/data/code/go/src/file_exist$ tree.└── file_exist.go0 directories, 1 filema@ma:/data/code/go/src/file_exist$ go run file_exist.go  # 运行程序./test/1 is exist!./test/2 is not exist!./test/1.txt is not exist!ma@ma:/data/code/go/src/file_exist$ tree  .├── file_exist.go└── test    └── 1        └── 23 directories, 1 filema@ma:/data/code/go/src/file_exist$ touch test/1.txt  # 创建1.txtma@ma:/data/code/go/src/file_exist$ go run file_exist.go ./test/1 is exist!./test/2 is not exist!./test/1.txt is exist!  # 1.txt存在

更多golang知识请关注golang教程栏目。

以上就是golang判断是否存在不存在就创建文件的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/17623.html

为您推荐

返回顶部