Append to a file in Go

后端 未结 6 720
一个人的身影
一个人的身影 2020-12-04 08:12

So I can read from a local file like so:

data, error := ioutil.ReadFile(name)

And I can write to a local file

ioutil.WriteF         


        
6条回答
  •  抹茶落季
    2020-12-04 08:47

    Let's say you want to add the contents of filecurrent to the file all, then below code is working:

    func updateTrx() {
        var err error
        var f *os.File
    
        // If the file doesn't exist, create it, or append to the file
        if f, err = os.OpenFile("all.csv", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644); err != nil {
            log.Fatal(err)
        }
        defer func() {
            if err := f.Close(); err != nil {
                log.Fatal("error", err)
            }
        }()
    
        var current *os.File
        if current, err = os.OpenFile("current.csv", os.O_RDONLY, 0); err != nil {
            log.Fatal("error", err)
        }
    
        defer func() {
            if err := current.Close(); err != nil {
                log.Fatal("error", err)
            }
        }()
    
        if fileBytes, err := ioutil.ReadAll(current); err != nil {
            log.Fatal("error", err)
        } else {
            if _, err := f.Write([]byte(fileBytes)); err != nil {
                log.Fatal(err)
            }
        }
    }
    

提交回复
热议问题