拷贝图像文件

package main

import (
	"os"
	"fmt"
	"io"
)

func main() {
	//读取文件
	fp1, err1 := os.Open("D:/0824基础班/01_Go语言基础第07天(指针)/03视频/03结构体和函数.avi")
	//写入文件
	fp2, err2 := os.Create("D:/test.avi")

	if err1 != nil || err2 != nil {
		fmt.Println("操作文件失败")
		return
	}
	//关闭文件
	defer fp1.Close()
	defer fp2.Close()

	//拷贝文件
	//通过read块进行文件读取
	//通过write进行写入
	buf := make([]byte, 1024*1024*10) //1KB 1MB  1KB-16MB
	for {
		//将读取的字符写入到新文件中
		n, err := fp1.Read(buf)
		if err == io.EOF {
			break
		}
		fp2.Write(buf[:n])
	}
}

读取英文txt字典

package main

import (
	"os"
	"fmt"
	"bufio"
	"io"
)

func main() {
	fp, err := os.Open("D:/dict.txt")
	if err != nil {
		fmt.Println("文件打开失败")
		return
	}
	defer fp.Close()

	//创建缓冲区
	r := bufio.NewReader(fp)
	dict := make(map[string]string)
	for {
		//读取两行内容  单词和翻译
		word, _ := r.ReadBytes('\n')
		trans, err1 := r.ReadBytes('\n')
		//将单词和翻译做类型转换 格式化 放在map中

		//#abandoner\r\n
		//abandoner
		//Trans:n. 遗弃者;委付者\r\n
		//n. 遗弃者;委付者
		dict[string(word[1:len(word)-2])] = string(trans[6 : len(trans)-2])

		//到文件结尾  循环结束
		if err1 == io.EOF {
			break
		}
	}

	//fmt.Println(dict)

	//单词查找
	word := ""
	fmt.Println("请输入您要查找的单词")
	fmt.Scan(&word)

	//fmt.Println(dict[word])
	value, ok := dict[word]
	if ok {
		fmt.Println(value)
	} else {
		fmt.Println("未找到该单词的翻译")
	}

}