利用Go语言追加内容到文件末尾

前言

我研究了file库,终于让我找到了利用Go语言追加内容到文件末尾的办法

主要的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越来越好用!以上就是这篇文章的全部内容,希望对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • GO语言文件的创建与打开实例分析

    本文实例分析了GO语言文件的创建与打开用法.分享给大家供大家参考.具体分析如下: 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的.Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中. 一.func Open(name string) (file *File, err error) 再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError. 这是一个只读打开模式,实

  • Go语言判断文件或文件夹是否存在的方法

    本文实例讲述了Go语言判断文件或文件夹是否存在的方法.分享给大家供大家参考,具体如下: Golang 判断文件是否存在有点怪异,是根据在操作文件时返回的错误信息来判断的,而不能直接根据路径判断 版本1: 复制代码 代码如下: func IsExists(path string) (bool, error) {     _, err := os.Stat(path)     if err == nil {         return true, nil     }     if os.IsNot

  • Go语言判断指定文件是否存在的方法

    本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main    import (     "fmt"     "os" )    func main() {     f, err := os.Open("dotcoo.com.txt")     if err != nil && os.IsNotExist(err) {         fmt.Pri

  • Go语言写入字符串到文件的方法

    本文实例讲述了Go语言写入字符串到文件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package  main import "fmt" import "os" func main() {     fileName := "test.dat"     dstFile,err := os.Create(fileName)     if err!=nil{         fmt.Println(err.Error())  

  • go语言读取csv文件并输出的方法

    本文实例讲述了go语言读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "encoding/csv"     "fmt"     "io"     "os" ) func main() {     file, err := os.Open("names.txt")     if err != nil {      

  • go语言检测文件是否存在的方法

    本文实例讲述了go语言检测文件是否存在的方法.分享给大家供大家参考.具体分析如下: go语言检测文件是否存在,首先创建一个FileInfo,如果不报错,再通过 IsDir()检查是否是目录 复制代码 代码如下: finfo, err := os.Stat("filename.txt") if err != nil {     // no such file or dir     return } if finfo.IsDir() {     // it's a file } else

  • go语言遍历文件夹示例

    用python遍历文件夹很方便,在go的世界里,我也需要这样的功能.找了找文档,里面有这个功能(具体参考这里:http://golang.org/pkg/path/filepath/ )-- 好,不废话了,我也想早点睡,直接上代码. 代码如下: 复制代码 代码如下: /* File      : getFilelist.go Author    : Mike E-Mail    : Mike_Zhang@live.com */ package main import (     "path/fi

  • Go语言编程中判断文件是否存在是创建目录的方法

    判断文件是否存在 os.IsExists()函数和os.IsNotExists(),他们的函数的原形是func IsExist(err error) bool func IsNotExist(err error) bool 都是传入一个err返回bool 这里注意了 err已经定义好了 复制代码 代码如下: /*  var (      ErrInvalid    = errors.New("invalid argument")      ErrPermission = errors.

  • 利用Go语言追加内容到文件末尾

    前言 我研究了file库,终于让我找到了利用Go语言追加内容到文件末尾的办法 主要的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:文件名字(带全路径) // c

  • java实现追加内容到文件末尾的常用方法分析

    本文实例讲述了java实现追加内容到文件末尾的常用方法.分享给大家供大家参考,具体如下: import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.RandomAccessFile; public class Write

  • PowerShell Out-File追加字符串到文件末尾的方法

    本文介绍PowerShell中如何将一个字符串输出到一个文件文件的结尾,即不覆盖原来的内容,只是附加到原文之后. 有这样一个任务:将"This is PowerShell!"这句话,附加到D:\1.txt文件之后. 面对这个任务,如果我们立即去想FileStream对象,那就错了!FileStream是.NET中的传统方法了!在PowerShell中,我们可以使用Out-File这个cmdlet来一步实现将字符串附加到一个文件之后的效果.且看下面的演示: 复制代码 代码如下: PS C

  • PHP使用内置函数file_put_contents写入文件及追加内容的方法

    本文实例讲述了PHP使用内置函数file_put_contents写入文件及追加内容的方法.分享给大家供大家参考,具体如下: 以追加形式写入内容 当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据: 复制代码 代码如下: <?php file_put_contents("test.txt", "This is another something.", FILE_APPEND); ?> file_put

  • 利用C语言替换文件中某一行的方法

    文件中存贮的内容如下所示: 11 1122 0 1122 * * 0 0 22 222 0 222 * * 0 0 33 333 0 333 * * 0 0 通过使用下面的几个函数,fopen,fprintf,fscanf,fseek,ftell . 具体的函数函数原型如下所示: FILE*fopen(const char*filename,const char *mode); int fprintf(FILE*stream,const char *format,...) int fscanf(

  • Linux中利用c语言删除某个目录下的文件

    利用c语言删除目录下文件 最近这段时间工作内容是关于Linux下的简单文件操作,以前对于Linux系统下的文件操作函数都不是太熟悉,经过这次实践,对这些函数使用有了一定的了解 如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定 文件的修改时间范围(多少小时以前的旧文件可以删除),下面就是简单的函数实现,仅供初学者参考(毕竟我也是初学者\(^o^)/~) #include <stdio.h> #inc

  • 基于C语言利用哈夫曼树实现文件压缩的问题

    一.哈夫曼树 具有n个权值的n个叶子结点,构造出一个二叉树,使得该树的带权路径长度(WPL)最小,则称此二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree). 注意:哈夫曼树是带权路径长度最短的树,且权值越大的叶子结点离根结点越近. 二.哈夫曼编码         哈夫曼编码是一种编码方式,又称"霍夫曼编码",其是可变字长的编码(VCL)的一种,是由霍夫曼于1952年提出的一种编码方式,有时被称为最佳编码,一般称为Huffman编码. 那么我们为什么要使用哈夫曼编码进行压缩?

  • 利用R语言解压与压缩.tar.gz.zip等格式文件

    目录 .zip .tar.gz .gz 与 .bz2 1) 直接解压 2) 直接读取 参考 最近尝试用 R 对一些文件进行批量的解压与压缩,这里记录一些常用的解压与压缩的方法. 由于解压与压缩是对称的两种方法,这里我们着重以对文件的解压为例,分不同的格式进行讲解. .zip 压缩:zip() 解压:unzip() 若要压缩文件,就直接在 zip() 函数的第一个参数里面输入压缩后的文件名,第二个参数输入压缩前的文件名. 而解压文件就更简单了,直接利用 unzip() 里面加上需要解压的文件名称即

  • php编程实现追加内容到txt文件中的方法

    本文实例讲述了php编程实现追加内容到txt文件中的方法.分享给大家供大家参考,具体如下: 覆盖txt文件内容: $filename="aa/a.txt"; $handle=fopen($filename,"w"); $str=fwrite($handle,"test"); fclose($handle); 效果: testtesttesttesttesttesttest 追加内容到txt: $filename="aa/a.txt&qu

  • java在文件尾部追加内容的简单实例

    如下所示: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; /** * 将内容追加到文件尾部. * @author haicheng.cao * */ public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void appendMethodA(String fileNa

随机推荐