249_尚硅谷_拷贝文件(图片视频音频)

1.文件编程应用实例1.文件编程应用实例

2.将一张图片_电影_MP3拷贝到另外一个文件下的io代码

2.将一张图片_电影_MP3拷贝到另外一个文件下的io代码

package main

import (
	"bufio"
	"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)
	}
	defer srcFile.Close()
	// 通过srcFile句柄, 获取到 Reader
	reader := bufio.NewReader(srcFile)

	// 打开dstFileName. 以写的方式打开(os.O_WRONLY), 如果文件不存在则创建文件(os.O_CREATE)
	dstFile, err := os.OpenFile(dstFileName, os.O_WRONLY|os.O_CREATE, 0666)
	if err != nil {
		fmt.Printf("open file err = %v", err)
		return
	}
	defer dstFile.Close()
	// 通过dstFile, 获取到 Writer
	writer := bufio.NewWriter(dstFile)

	// ! 关键点: 调用io中的copy(目标文件, 原文件)方法
	return io.Copy(writer, reader)
}

func main() {
	// 将 C:\Users\wxe5szh\OneDrive - Bosch Group\PersonalDrive\task\golang_study\249_尚硅谷_拷贝文件(图片视频音频)\image_folder\abc.jpg 文件
	// 拷贝到 C:\Users\wxe5szh\OneDrive - Bosch Group\PersonalDrive\task\golang_study\249_尚硅谷_拷贝文件(图片视频音频)\image_folder_new 下
	// * 调用CopyFile 完成文件拷贝
	// todo 源文件路径
	srcFile := "C:/Users/wxe5szh/OneDrive - Bosch Group/PersonalDrive/task/golang_study/249_尚硅谷_拷贝文件(图片视频音频)/image_folder/abc.jpg"
	// todo 目标文件路径
	dstFile := "C:/Users/wxe5szh/OneDrive - Bosch Group/PersonalDrive/task/golang_study/249_尚硅谷_拷贝文件(图片视频音频)/image_folder_new/abc.jpg"
	_, err := CopyFile(dstFile, srcFile)
	if err == nil {
		fmt.Printf("File copy is finished")
	} else {
		fmt.Printf("File copy is failed, err = %v", err)
	}
}

3.将一张图片_电影_MP3拷贝到另外一个文件下的io运行结果3.将一张图片_电影_MP3拷贝到另外一个文件下的io运行结果

posted on 2026-02-25 17:04  与太阳肩并肩  阅读(0)  评论(0)    收藏  举报

导航