golang 文件操作之一

文件流概念

数据保存在文件中,文件的输入输出是通过流来实现的
在这里插入图片描述

读文件
带缓冲的读取文件方式

golang 要读取一个文件内容,首先必须要打开这个文件,从文件中读取内容,然后进行后续的操作。简单的打开文件方式就是通过os包里面的Open函数,下面咱们就通过Open函数来操作一把。

package main
import(
	"os"
	"io"
	"bufio"
)
func main(){
	filePath := "/tmp/test.txt"
	file, err := os.Open(filePath)
	// 判断读取文件是否成功
	if err != nil {
		fmt.Println("读取文件失败:", err)
		//  读取失败直接退出程序执行
	}
	// 关闭文件
	defer file.Close()
	// 通过文件指针file,使用bufio带缓冲的读取方式,
	reader:= bufio.NewReader(file)
	// 循环读取
	for {
		cnt, err:= reader.ReadString('\n')
		if err == io.EOF {
			break
		}
		fmt.Printf("%v", string(cnt))
	}
}
不带缓冲的读取方式

通过io/ioutil包读取文件,这种方式适合小文件的读取

package main
import(
	"fmt"
	"io/ioutil"
)

func main() {
	filePath := "/tmp/abc.txt"
	// ioutil.ReadFile 函数不需要我们打开文件,判断打开是否成功,它已经帮我们封装好了,直接用即可
	cnt, err := ioutil.ReadFile(filePath)
	if err != nil {
		fmt.Println("读取文件失败:", err)
		return
	}
	fmt.Println(string(cnt))
}
发布了4 篇原创文章 · 获赞 0 · 访问量 97

猜你喜欢

转载自blog.csdn.net/dog500/article/details/105235933
今日推荐