为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Go从文件读/写文件?

如何使用Go从文件读/写文件?

Go
狐的传说 2021-04-08 13:15:16
我一直在尝试自己学习Go,但是在尝试读取和写入普通文件时遇到了麻烦。我可以达到最大范围inFile, _ := os.Open(INFILE, 0, 0),但是实际上获取文件的内容没有任何意义,因为read函数将a[]byte作为参数。func (file *File) Read(b []byte) (n int, err Error)
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

使用 io.Copy


package main


import (

    "io"

    "log"

    "os"

)


func main () {

    // open files r and w

    r, err := os.Open("input.txt")

    if err != nil {

        panic(err)

    }

    defer r.Close()


    w, err := os.Create("output.txt")

    if err != nil {

        panic(err)

    }

    defer w.Close()


    // do the actual work

    n, err := io.Copy(w, r)

    if err != nil {

        panic(err)

    }

    log.Printf("Copied %v bytes\n", n)

}

如果您不想重新发明轮子,theio.Copy和io.CopyN可能会为您服务。如果您检查io.Copy函数的源代码,那么它只是Go库中打包的Mostafa解决方案之一(实际上是“基本”解决方案)。不过,他们使用的缓冲区要比他大得多。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 225 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信