1. 程式人生 > >Go語言複製檔案

Go語言複製檔案

需要使用io包的Copy方法

package main

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

//自己編寫一個函式,接收兩個檔案路徑 srcFileName dstFileName
func CopyFile(dstFileName string, srcFileName string) (written int64, err error) {

    srcFile, err := os.Open(srcFileName)

    if err != nil {
        fmt.Printf("open file err = %v\n", err)
        return
    }

    defer srcFile.Close()

    //開啟dstFileName

    dstFile, err := os.OpenFile(dstFileName, os.O_WRONLY | os.O_CREATE, 0755)
    if err != nil {
        fmt.Printf("open file err = %v\n", err)
        return
    }

    defer dstFile.Close()

    return io.Copy(dstFile, srcFile)

}

func main() {

    result, err := CopyFile("./src/main/dst.png", "./src/main/file.png")

    if err == nil {
        fmt.Println("拷貝成功!,拷貝的位元組數為: ", result)
    }
}