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

互联网 19-12-14

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

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 main import (     "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.go 0 directories, 1 file ma@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         └── 2 3 directories, 1 file ma@ma:/data/code/go/src/file_exist$ touch test/1.txt  # 创建1.txt ma@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判断是否存在不存在就创建文件的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: golang
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:golang中定义不定长数组的方法

相关资讯