Golang文件及文件夹

是个懒人 · · 2681 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

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

func Files() {
    /*
    ioutil.WriteFile() 打开一个文件,文件不存在就添加一个。先清空文件内容,再写入
    ModePerm    0777
     */
    err := ioutil.WriteFile("log_1.log", []byte("你好" + "\n"), os.ModePerm)
    if err != nil {
        fmt.Println(err.Error())
    }
    /*
    os.OpenFile() 追加内容到文件
    O_RDWR      读写模式打开文件
    O_APPEND    写操作时将数据附加到文件尾部
    O_CREATE    如果不存在将创建一个新文件
    ModePerm    0777
     */
    file, err := os.OpenFile("log_2.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
    if err != nil {
        fmt.Println(err.Error())
    } else {
        file.WriteString("你好" + "\n")
    }
    // 关闭文件
    defer file.Close()
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:是个懒人

查看原文:Golang文件及文件夹

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2681 次点击  
加入收藏 微博
上一篇:leetcode_275
下一篇:leetcode_820
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传