golang追加内容到文件末尾

作者: Lucas_Ye | 来源:发表于2016-08-19 11:27 被阅读3974次

golang读写文件,网上很多教程了
但是今天有个需求,想要把内容追加写到文件末尾
google了好久,没有查到
研究了一会儿file库,终于让我找到(蒙到)了追加的办法
最主要的2个函数:

func (f *File) Seek(offset int64, whence int) (ret int64, err error)
func (f *File) WriteAt(b []byte, off int64) (n int, err error)

  • Seek()查到文件末尾的偏移量
  • WriteAt()则从偏移量开始写入

以下是栗子:

// fileName:文件名字(带全路径)
// content: 写入的内容
func appendToFile(fileName string, content string) error {
   // 以只写的模式,打开文件
   f, err := os.OpenFile(fileName, os.O_WRONLY, 0644)
   if err != nil {
      fmt.Println("cacheFileList.yml file create failed. err: " + err.Error())
   } else {
      // 查找文件末尾的偏移量
      n, _ := f.Seek(0, os.SEEK_END)
      // 从末尾的偏移量开始写入内容
      _, err = f.WriteAt([]byte(content), n)
   }   
defer f.Close()   
return err}

拿去用吧,别客气 :)
觉得目前国内golang的文档博客还是稍微缺乏了点,
希望大家平时coding中有什么心得体会互相分享,
让golang越来越好用!


2016/08/31 记:
我就是笨蛋,明明最简单的方式就可以实现了:
f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_APPEND, 0666)
以写跟追加的方式打开文件。。。

以上

Just do IT!

相关文章

  • golang追加内容到文件末尾

    golang读写文件,网上很多教程了但是今天有个需求,想要把内容追加写到文件末尾google了好久,没有查到研究了...

  • linux 中重定向“>>”与TEE的区别

    >>:这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾...

  • Linux tar

    tar 备忘: 基础�参数: -x:解压 -c:压缩 -r:向压缩文件末尾追加文件 -t:列出压缩文件内的内容 -...

  • Ansible追加内容到文件

    追加内容如图片所示 其中第一行的ip地址master服务端的ip地址,第三行是slave服务器ip地址。 用ans...

  • tar命令

    linux解压tar文件 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文...

  • linux下安装jdk

    一、编辑 vim /etc/profile ,在文件末尾追加如下内容 其中JAVA_HOME为jdk的路径,其余...

  • linux tar命令

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 以...

  • Linux命令摘录

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这...

  • Linux下的tar压缩解压缩命令详解

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这...

  • (转载)Linux下的tar压缩解压缩命令详解

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这...

网友评论

本文标题:golang追加内容到文件末尾

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