实现思路:
- 只读方式打开需要复制的源文件。
- 以读写方式打开要复制的目标文件,没有则创建。
- 使用golang自带的io包进行复制。
准备工作
- 创建main.go
- 在main.go文件同目录下创建目标文件source.txt
具体代码
func main() {
// 只读方式打开同目录下的源文件 source.txt
source, err := os.Open("source.txt")
if err != nil {
fmt.Println("打开源文件失败,失败原因:", err)
return
}
defer source.Close()
// 读写并且可创建方式打开目标文件 0644:即用户具有读写权限,组用户和其它用户具有只读权限
target, err := os.OpenFile("target.txt", os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
fmt.Println("打开目标文件失败,失败原因:", err)
return
}
defer target.Close()
// 调用io.Copy()拷贝内容
_, err = io.Copy(target, source)
if err != nil {
fmt.Println("复制文件失败, 失败原因:", err)
return
}
fmt.Println("复制完成!")
}
运行代码