美文网首页
Golang文件及文件夹

Golang文件及文件夹

作者: 懒人程序猿 | 来源:发表于2020-03-28 10:32 被阅读0次

文件夹及文件相关使用方法

// 判断文件、文件夹是否存在
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
}

func Mkdir() {
    dir := "log"
    // 创建文件夹
    exist, err := PathExists(dir)
    if err != nil {
        fmt.Println(err.Error())
    } else {
        if exist {
            fmt.Println(dir + "文件夹已存在!")
        } else {
            // 文件夹名称,权限
            err := os.Mkdir(dir, os.ModePerm)
            if err != nil{
                fmt.Println(dir + "文件夹创建失败:", err.Error())
            } else {
                fmt.Println(dir + "文件夹创建成功!")
            }
        }
    }
}

func RemoveDir() {
    // 删除文件
    dir := "log"
    exist, err := PathExists(dir)
    if err != nil {
        fmt.Println(err.Error())
    } else {
        if exist {
            // os.RemoveAll 是遍历删除,文件夹及文件均可使用
            err := os.RemoveAll(dir)
            if err != nil {
                fmt.Println(dir + "删除失败:", err.Error())
            } else {
                fmt.Println(dir + "删除成功!")
            }
        } else {
            fmt.Println(dir + "文件、文件夹不存在!")
        }
    }
}

// WriteFile
func WriteFile(filename string, s string) error {
    return ioutil.WriteFile(filename, []byte(s), os.ModePerm)
}

// Write
func Write(filename string, s string) (err error) {
    f, err := os.OpenFile(filename ,os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
    if err != nil {
        return
    }
    defer f.Close()
    _, err = f.Write([]byte(s))
    return
}

相关文章

网友评论

      本文标题:Golang文件及文件夹

      本文链接:https://www.haomeiwen.com/subject/zddjuhtx.html