zoukankan      html  css  js  c++  java
  • Golang覆盖写入文件的小坑

    记录一点Golang文件操作的笔记,环境:Ubuntu

    // 删除文件
    func removeFile() {
        err := os.Remove("test.txt")
        if err != nil {
            log.Fatal(err)
        }
    }        
    /* 文件操作 */
    // 有个坑,Python、Java的写文件默认函数操作默认是覆盖的,而是Golang的OpenFile函数写入默认是追加的
    // os.O_TRUNC 覆盖写入,不加则追加写入
    func WriteToFile(fileName string, content string) error {
       f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)
       if err != nil {
          fmt.Println("file create failed. err: " + err.Error())
       } else {
          // offset
          //os.Truncate(filename, 0) //clear
          n, _ := f.Seek(0, os.SEEK_END)
          _, err = f.WriteAt([]byte(content), n)
          fmt.Println("write succeed!")
          defer f.Close()
       }
    return err
    }
    // Linux清空文件内容的操作,比如清空result.json文件内容:
    cat /dev/null > result.json
  • 相关阅读:
    滚动条滚动方向
    阶乘函数-尾递归
    返回顶部
    CommonJS
    vuessr
    随机字符串
    indexedDB
    深层次选择器
    Vue3.0简单替代Vuex
    shell 学习笔记
  • 原文地址:https://www.cnblogs.com/kumata/p/10161754.html
Copyright © 2011-2022 走看看