十六、Golang文件操作详解

本文详细介绍了Golang的文件操作,包括使用os.open和file.read进行只读文件操作,bufio包的读写方法,文件复制,创建和删除目录以及文件。从Go 1.16开始,推荐使用io或os包进行文件操作,io/ioutil被弃用。
摘要由CSDN通过智能技术生成

打开和关闭文件

从 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 := fil
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵唯一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值