go读取文件内容

 基础语法  2021-02-14  admin  418  564

go读取文件内容

//一次读取整个文件
func ReadFile(path string) {
	//打开文件
	f, err := os.Open(path)
	if err != nil {
		fmt.Println("err = ", err)
		return
	}

	//关闭文件
	defer f.Close()

	buf := make([]byte, 1024*2) //2k大小

	//n代表从文件读取内容的长度
	n, err1 := f.Read(buf)
	if err1 != nil && err1 != io.EOF { //文件出错,同时没有到结尾
		fmt.Println("err1 = ", err1)
		return
	}

	fmt.Println("buf = ", string(buf[:n]))

}

//每次读取一行
func ReadFileLine(path string) {
	//打开文件
	f, err := os.Open(path)
	if err != nil {
		fmt.Println("err = ", err)
		return
	}

	//关闭文件
	defer f.Close()

	//新建一个缓冲区,把内容先放在缓冲区
	r := bufio.NewReader(f)

	str := ""
	for {
		//遇到'\n'结束读取, 但是'\n'也读取进入
		buf, err := r.ReadBytes('\n')
		if err != nil {
			if err == io.EOF { //文件已经结束
				break
			}
			fmt.Println("err = ", err)
		}
		str += string(buf)
	}
	fmt.Printf("%s", str)

}

func main() {
	path := "./demo.txt"
	//ReadFile(path)
	ReadFileLine(path)
}


转载必须注明出处:

go读取文件内容 —— centhp.com

相关推荐


go类型断言

go类型断言

go的defer的使用

go的defer的使用

css常用属性

css常用属性

html表格table属性

html表格table属性