1.将A文件内容复制到B文件中去(B文件原来是有数据的将会被清除掉)
package main
import (
"errors"
"fmt"
"io/ioutil"
)
//copyData 将源文件数据导入到目标文件中去(目标文件为空文件)
func copyData(sourcePath,targetPath string) error {
data,err := ioutil.ReadFile(sourcePath)
if err != nil {
return errors.New("read file err")
}
err = ioutil.WriteFile(targetPath,data,0666)
if err != nil {
return errors.New("write file err")
}
return nil
}
func main() {
aPath := "./test.txt"
bPath := "./file.txt"
err := copyData(aPath,bPath)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("文件内容复制ok")
}
}
2.复制文件
package main
import (
"bufio"
"fmt"
"io"
"os"
)
func copyFile(sourcePath,targetPath string) (written int64,err error) {
//读取源文件数据
sourceFile,err := os.Open(sourcePath)
if err != nil {
fmt.Printf("open file err=%v \n",err)
return
}
reader := bufio.NewReader(sourceFile)
defer sourceFile.Close()
targetFile,err := os.OpenFile(targetPath,os.O_WRONLY|os.O_CREATE,0666)
if err != nil {
fmt.Printf("open file err=%v \n",err)
return
}
defer targetFile.Close()
writer := bufio.NewWriter(targetFile)
return io.Copy(writer,reader)
}
func main() {
aPath := "./test.txt"
bPath := "./text2.txt"
n,err := copyFile(aPath,bPath)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("文件复制ok",n)
}
}