Go-目录操作

判断目录是否存在、创建(多级)目录

package main

import (
    "fmt"
    "os"
)

func IsDir(name string) bool {
    fi, err := os.Stat(name)
    if err != nil {
        fmt.Println("Error: ", err)
        return false
    }

    return fi.IsDir()
}

func CreateDir(name string) bool {
    if IsDir(name) {
        fmt.Printf("%s is already a directory.\n", name)
        return true
    }

    if createDirImpl(name) {
        fmt.Println("Create directory successfully.")
        return true
    } else {
        return false
    }
}

func createDirImpl(name string) bool {
    err := os.MkdirAll(name, 0666)
    if err == nil {
        return true
    } else {
        fmt.Println("Error: ", err)
        return false
    }
}

/*
D:\examples\go>go run dir_ex.go
Error:  GetFileAttributesEx ./a/b/c: The system cannot find the path specified.
Create directory successfully.
./a/b/c is already a directory.

D:\examples\go>
*/
func main() {
    name := "./a/b/c"
    CreateDir(name)
    CreateDir(name)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值