go读取文件内容

 基础语法  2021-02-14  admin  1419  1915

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读取文件内容 —— code.cent123.com

相关推荐


go 在Windows系统中交叉编译临时环境变量设置

go 编译临时环境变量设置并 交叉编译命令$env:GOOS="linux";$env:GOARCH="amd64";gobuild-ofilenametest.go$env:GOOS="linux";$env:GOARCH="amd64";`gobuild-ofilenametest.go`这两种方式 都是在Powe

phpstorm 设置 外部命令

C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11781.0_x64__8wekyb3d8bbwe\wt.exe-d $ContentRoot$$ProjectFileDir$

点名工具,抽奖软件

点名工具,抽奖软件

酷炫的倒计时客户端

QQ: 425100867捐赠开发者: