Home » Go » Go语言文件拷贝

Go语言文件拷贝

编 辑:Y ┊ 时 间:2023年01月08日 ┊ 访问: 19 次

Go语言文件拷贝
创建文件后,创建文件缓冲区进行存储读取的内容。
最后读多少,写入多少数据。

package main

import (
    "os"
    "fmt"
    "io"
)

func main()  {

    // 打开读文件
    f_r, err := os.Open("C:/itcast/01-复习.avi")
    if err != nil {
        fmt.Println("Open err: ", err)
        return
    }
    defer f_r.Close()
    // 创建写文件
    f_w, err := os.Create("C:/itcast/test.avi")
    if err != nil {
        fmt.Println("Create err: ", err)
        return
    }
defer f_w.Close()

    // 从读文件中获取数据,放到缓冲区中。
    buf := make([]byte, 4096)
    // 循环从读文件中,获取数据,“原封不动的”写到写文件中。
    for {
        n, err := f_r.Read(buf)
        if err != nil && err == io.EOF {
            fmt.Printf("读完。n = %d\n", n)
            return
        }
        f_w.Write(buf[:n])        // 读多少,写多少
    }

}



Copyright © 2026 Y 版权所有.网站运行:13年238天21小时26分