在Golang中,使用系统自带函数io.Copy()
如:
srcFile := "C:/Users/Wisdom/Desktop/Wisdompic.png" (源文件)
dstFile := "C:/Users/Wisdom/Desktop/Ouxiaobaicopy.png" (目标文件)
将srcFile文件打开并读取到系统内存中,并将读取的内容拷贝到dstFile 路径下,完成拷贝操作!
package main
import(
"fmt"
"os"
"io"
"bufio"
)
func CopyFile (dstFilePath string,srcFilePath string)(written int64, err error){
srcFile,err := os.Open(srcFilePath)
if err != nil{
fmt.Printf("打开源文件错误,错误信息=%v\n",err)
}
defer srcFile.Close()
reader := bufio.NewReader(srcFile)
dstFile,err := os.OpenFile(dstFilePath,os.O_WRONLY | os.O_CREATE,0777)
if err != nil{
fmt.Printf("打开目标文件错误,错误信息=%v\n",err)
return
}
writer := bufio.NewWriter(dstFile)
defer dstFile.Close()
return io.Copy(writer,reader)
}
func main (){
srcFile := "C:/Users/Wisdom/Desktop/Wisdompic.png"
dstFile := "C:/Users/Wisdom/Desktop/Ouxiaobaicopy.png"
_, err :=CopyFile(dstFile,srcFile)
if err == nil {
fmt.Printf("完成拷贝,Done\n")
}else{
fmt.Printf("未完成拷贝,错误=%v\n",err)
}
}