test2.zip

package main

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

func main01(){
	fp,err := os.Create("D:\\www\\gostudy\\a.txt")
	if err != nil{
		fmt.Println("文件创建失败")
	}
	defer fp.Close()
	fp.WriteString("123")

}

func main02(){
	fp,err := os.OpenFile("D:\\www\\gostudy\\a.txt",os.O_RDWR,6)
	if err != nil{
		fmt.Println("文件打开失败")
	}
	count,_:=fp.Seek(0,io.SeekEnd)
	fmt.Println(count)
	//指定位置写入(光标)
	fp.WriteAt([]byte("456"),count)

}

func main03(){
	fp,err := os.OpenFile("D:\\www\\gostudy\\a.txt",os.O_RDONLY,6)
	if err != nil{
		fmt.Println("文件打开失败")
	}
	//创建文件缓冲区
	r:=bufio.NewReader(fp)

	for{
		str,err := r.ReadString('\n') //结尾截取
		if err == io.EOF{
			break
		}
		fmt.Print(str)
	}
}

func main04(){
	fp,err1 := os.OpenFile("D:\\www\\gostudy\\src\\img.jpg",os.O_RDONLY,6)
	fp2,err2 := os.Create("D:\\www\\gostudy\\src\\img2.jpg")
	if err1 != nil || err2 != nil{
		fmt.Println("文件操作失败")
	}

	defer fp.Close()
	defer fp2.Close()

	buf := make([]byte,1024)
	for{
		n,err := fp.Read(buf)
		if err == io.EOF{
			break
		}
		fmt.Println(buf)
		fp2.Write(buf[:n])
	}

}

//字典查询案例
func main(){
	fp,err := os.OpenFile("D:\\www\\gostudy\\a.txt",os.O_RDONLY,6)
	if err != nil {
		fmt.Println("文件打开失败")
	}
	defer fp.Close()

	mp := make(map[string]string)

	//创建文件缓冲区
	r:=bufio.NewReader(fp)

	for{
		word,_ := r.ReadString('\n') //结尾截取
		trans,err := r.ReadString('\n')
		if err == io.EOF{
			break
		}
		mp[string(word[5:len(word)-2])] = string(trans[6:len(trans)-2])
	}

	//fmt.Println(mp)
	//单词查找
	wordin := ""
	fmt.Println("请输入单词")
	fmt.Scan(&wordin)
	v,ok := mp[wordin]
	if ok{
		fmt.Println(v)
	}else{
		fmt.Println("查无此单词")
	}

}