Golang文件操作详解

打开和关闭文件

Golang文件操作详解_第1张图片

从 Go 1.16 开始,现在提供了相同的功能 通过包 IO 或包操作系统,以及这些实现 应该在新代码中首选。 有关详细信息,请参阅特定函数文档。

弃用了"io/ioutil"对文件的操作

读取文件方法一(os.open+file.read只读形式):

os.Open() 函数能够打开一个文件,返回一个 *File 和一个 err
操作完成文件对象以后一定要记得关闭文件(使用defer延迟执行函数)
注意这个是只读的形式,如果要修改文本内容不能用这个方式
func (f *File) Read(b []byte) (n int, err error)

 它接收一个字节切片,返回读取的字节数和可能的具体错误,读到文件末尾时会返回 0 和 io.EOF

一、读取文件(方法1)
		1、只读方式打开文件 file,err := os.Open()

		2、读取文件 file.Read()

		3、关闭文件流 defer file.Close()

打开文件的操作,获取到了文件的地址

func main(){
	fileInfo,err := os.Open("./main.go")
	//延迟关闭文件,避免内存泄漏
	defer fileInfo.Close()
	//判断一下文件是否打开
	if err != nil {
		fmt.Println(err)
		return
	}
	//操作文件
	fmt.Println(fileInfo) 
	//打印出一个地址&{0xc00010c780}
}

读取文件内容

//有绝对路径以及相对路径
func main(){
	file,err := os.Open("./main.go")
	//延迟关闭文件,避免内存泄漏
	defer file.Close()
	//判断一下文件是否打开
	if err != nil {
		fmt.Println(err)
		return
	}
	//操作文件
	// fmt.Println(fileInfo) 
	//打印出一个地址&{0xc00010c780}
	//定义一个byte类型的切片,可以缓存数据
	var strSlice []byte
	var HuanChun = make([]byte, 256) //表示一次可以读取的数据流为256,然后定制循环流方式读取
	for{
		fileInfo,err := file.Read(HuanChun)
		if err

你可能感兴趣的:(#,Golang,golang,开发语言,后端)