1. 首页
  2. 主题
  3. Go问与答

咨询下GO复制这段代码如何获取进度呢

hellsam · · 1242 次点击
~~~ func copyFile(srcFileName string, dstFileName string) (written int64, err error) { srcFile, err := os.Open(srcFileName) if err != nil { fmt.Printf("open file error = %v\n", err) } defer srcFile.Close() //通过srcFile,获取到READER reader := bufio.NewReader(srcFile) //打开dstFileName dstFile, err := os.OpenFile(dstFileName, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { fmt.Printf("open file error = %v\n", err) return } //通过dstFile,获取到WRITER writer := bufio.NewWriter(dstFile) //writer.Flush() defer dstFile.Close() return io.Copy(writer, reader) } ~~~
更多评论
没见过这种的。要么就定义一个数字,表示长度。在copy时,自己写个方法时刻修改copy长度。然后再启动一个协程,读取长度,也不会有啥冲突。你这种的官方包貌似没有返回进度的。只能自己写了
#1

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中