Go语言基础(十七)—— 文件拷贝小案例

本文介绍了使用Go语言进行文件拷贝的两种方法。一种是通过ioutil包的ReadFile和WriteFile函数直接读写文件内容,另一种是利用io包的Copy函数实现流式拷贝。文章展示了具体的代码示例,包括打开源文件和目标文件,使用标准库API完成高效文件拷贝。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package main

import (
	"io/ioutil"
	"fmt"
	"io"
	"os"
)

//文件拷贝1
func main51() {
	copyFile("d:/找你妹.txt","d:/找自己.txt")
}

func copyFile(srcFilename string,dstFilename string) {
	bytes, _ := ioutil.ReadFile(srcFilename)
	err := ioutil.WriteFile(dstFilename, bytes, 0754)
	if err != nil {
		fmt.Println("拷贝失败,err=", err)
	} else {
		fmt.Println("拷贝成功!")
	}
}

func main() {

	//打开来源文件和目标文件(目标文件可能并不存在)
	srcFile, _ := os.OpenFile("d:/找你妹.txt", os.O_RDONLY, 0666)
	dstFile, _ := os.OpenFile("d:/找我妹.txt", os.O_WRONLY|os.O_CREATE, 0666)

	//程序的最后关闭这两个文件
	defer srcFile.Close()
	defer dstFile.Close()

	//使用标准库提供的API实现文件拷贝,返回的是拷贝的字节数
	written, err := io.Copy(dstFile, srcFile)
	if err!=nil{
		fmt.Println("拷贝失败,err=",err)
	}else{
		fmt.Println("拷贝成功,字节数=",written)
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值