00:00
好,那么我们接着来看一下文件的基本操作,我们来看一下,那首先我们先领着大家来初步的认识一下这个文件好不好,那在这个勾浪里面去,我们要去操作一个文件呢,首先我们要先打开一个文件,能理解吗?说你居然要对这个文件进行读或者是写的操作,或者修改的操作,那你首先呢,应该打开一个文件,那在我们这一个勾浪里面去,呃,这个勾浪里面它是怎么样打开一个文件的呢?大家看。大家看这里,它OS里面提供一个open,就是这大家还有印象吧,就这个open。注意啊,这个open并没有跟这个file直接绑定,它就是一个O包里面的一个open函数,它干什么呢?Open打开一个文件,用于读写。大家看清楚,如果操作成功,返回的文件对象可以读取数据,明白明白,那大家看到这里面呢,直接给他传一个字符串就可以了,里面会它会返回什么呢?它会返回两个参数,大家看这里一个就是返回一个文件的指针,大家看这是不是指针呢?其实它返回的就是这个file这个结构体的一个指针,因此我们可以看到文件其实是个指针类型。
01:16
能理解吗?就你打开一个文件过后,它返回的是这个file这个结构体的一个指针类型,那换言之,我们文件准确的讲它是一个指针类型,同时呢,会返回一个error,也就是说如果打开失败,它会返回一个error,能理解。那么打开一个文件过后呢,我们还有一个特别重要的操作,当你对文件进行操作完毕以后,比如说读或者写,做完以后,你必须要记住一件事情,要关闭文件。那么关闭文件是怎么做的呢?大家看到在file这个结构体里面有个close close方法往下面拉一拉。大概思路啊,这有个close,大家看,Close是关闭这个文件的,它是这个file,这个结构体指针类型绑定的一个方法。
02:08
干什么呀?使用文件不能用于读写,那么这个时候就说,如果你关闭错误,它会返回一个L。如果成功,当然就就就没有错误了,好,这两个是我们打开文件和关闭文件的最常用的方法,来,我们给大家演示一下。好,我们来演示一个第一个案例啊,就是打开文件和关闭文件的一个演示。打开文件和关闭文件。赶上思路。同学们。跟上思路。首先我们要说一下使用的方法,它。使用的函数和方法是。好,那么我先把这块给大家整理一下,首先大家要很清晰的知道啊,很清晰的知道他打开这个文件用的是这个方法。
03:01
哪个方法呀,就是刚才老师给你们看的。Open。对不对,要很清晰的知道他是干啥的。Open。有点慢啊。大家看这里。那么它实际上是open这个name,就是写上你这个文件的路径,就是你打开是哪个地方的文件能理解,然后呢,它返回是一个file这个结构体的指针类型,同时如果有错误,返回一个L。明白,那你打开完了过后呢,其实你后面要用的就是它了,因为通过它就可以对文件进行读操作或者是写操作,好这是一个方法。我们把它罗列到这里,另外呢,关闭关闭文件,我们用的是close往下走。跟上思路啊,因为同学们刚刚用了,所以说老师讲的稍微慢一点。对吧,这个是一个close。
04:02
好,这是一个close,这是关闭文件,如果说呃,如果说你这地方关闭失败了,那这个就会返回一个L。注意啊,这个close它是跟这个fire结构体指针类型绑定的,注意看清楚了啊,也就是说你不能直接去用这个close,你必须是用这个fire结构体指针这种变量才能调close啊,大家不要不要搞蒙圈了。好,有了这两个东西过后呢,我们来一个案例说明。来,我们做一个案例演示。案例演示一把,来吧,各位朋友,打开我们这个地方。好的,我呢给同学们演示一下。保存一下啊,看看这个为什么错了。啊对,这应该没事,好,我们新建一个chapter,这是14了,对不对。好,新建一个文件夹,Chapter。然后是幺四。
05:01
好,那幺四呢,我们先写一个,先建一个文件夹,这个是文件的DEMO。一个最基本的DEMO。好里面呢,我们写一个。组文件夹没问题吧,这个好,我们写一个test。Go。啊man购啊,命购也行,命顶购。好,我们package一下。Package面包。Dollar import。Import。好来,因为你要用到文件,要打开文件,要用OS包把它打开先。先引入这个OS这个包啊,因为你要对文件进行打开和关闭嘛,对吧,那你肯定要用OS这个包,大家也看到了,因为这个OS包里面呢,它有我们想想需要操作文件相应的函数和方法。还有结构体什么的,对不对,好me。然后跟上思路,同学们,那么现在我我先来打开一个文件。
06:01
打开一个文件,打开文件到,大家看我怎么打开啊,不要。然后有error我搜一下,然后呢,用open OS这个包,包里面的open,那我要打开哪个包呢?比如D盘下面我找一个文件。我看我D盘有没有文件啊,D盘有一个test.txt好,我把它打开。好的,那现在就要判断了,如果这个L它不等于呢,Ne说明什么,说明我们这个有错误对不对,所以说我把错误信息打出来。对不对,跟上思路啊。然后呢,我们看看这是打开文件,就是open file l。等于来走一个输出来,如果说如果说这个打开成功了,那么我们我们来看看这个文件到底是什么,我们输出下文件。看看文件到底是什么?看看文件是什么?
07:03
好,我直接给他打印出来看一下。Print f,好吧,我写file等于百分V输出这个file。然后呢,不要忘了啊,当我们使用完了过后,我们要关闭文件。关闭,当然目前我还没有对这个文件进行任何的操作,我只是让大家看了一下这个文件到底是什么,我就关闭了,后面呢,我们再说怎么对这个文件,通过这个文件句柄。对他进行操作,注意听啊这个file。有些喜欢叫文件对象,有些呢把它叫文件句柄,有些人喜欢把它叫文件指针,都可以,没问题吧,同学们那注意听啊,这有个概念。概念说明一下。说明就是关于这个的叫法,Fire的一个叫法。那么有三种。有些人喜欢把file叫。叫什么呢?叫外对象。你比如说大家看到刚才我们看这个地方的时候,他说打开的就是一个文件对象。
08:06
其实本质就是一个这个指针对不对,你看你看这open。他直接叫,他直接说返回的是一个文件对象,对吧,那有些人喜欢叫什么呢,注意听。注意这个概念啊,有些时候概念容易把人搞晕,有些人喜欢把它叫什么呢?叫发指针。因为他确实是个指针。对吧,指针还有一身喜欢把它叫什么呢?叫文件句柄。把fire叫什么呢?叫文件句柄,叫fire文件句柄。句句柄都是一个意思。都是一个意思,不要搞蒙圈了啊,大家说诶有些人说诶这个范怎么是叫文文件对象,有些人程序员把它叫呃,叫一个文件指针,有些人喜欢把它叫文件距柄,其实都是一个意思,不要因为这个概念大家听的模模糊糊的,所以说老师呢,把这个概念给大家,给大家怎么样清晰一把。
09:01
好不好好关闭文件,关闭文件注意听关闭文件呢,它是要通过这个file来关闭的。因为这个关闭文件,它是属于这个file结构体指针类型的绑定的一个方法。所以说close下。当然这个也会返回一个error。也会返回一个,准确的讲应该这样搜一下。准确的讲应该这样搜一下。说如果这个error不能说说关闭文件错误对吧,可以这样写一下。那这样写是更标准的写法,就关闭文件错误。Close。Close file l,那么我们把这个error输出来就可以了。好,同学们看一下啊,这就是一个最简单的操作,打开了一个文件。输出了一下文件是什么。然后关闭文件,其实我什么都没干对不对,好朋友们,我们来运行一把。好,这个我们清一下啊。我们CD到上一级,在CD到上一级,CD到chapter。
10:04
我们是幺四。DR CD file CD。主主包,然后DR里面有一个刚刚写的命点go run一下。跑起来,我们可以看到此时此刻他没有报错是吧?报错了没有?等一下。我们可以看到它其实输出了这么一个玩意儿,它的文件,你看其实这个文件是一个就是一个地址,因为指针就是一个地址嘛,大家看到没有0X什么什么什么,所以说我们再次证明文件的确是一个指针类型。对不对,它其实就是一个指针。所有,为什么有人把它叫文件指针,大家理解了吧?句柄其实也是个指针理解啊,所以我们可以看到,哦,文件原来就是这个东西。那么我们来看一下,假设我的文件不存在,它会怎么办呢?假设我瞎写一个。TEST100,同学们都知道,TEST100在我的D盘里面是没有的。
11:01
那么,如果我瞎写一个文件名,它会怎么办呢?来,各位朋友请看效果。我运行一下。这个时候他就会报错。大家看它会报一个什么错误。好,运行起来,同学们可以看到这里,他报了一个这么错误,他说open fire a。他说打开这个文件。什么呢?这个一个错误,他说the system cannot find the fire specified,就是在这个系统里面不能找到你指定的这个文件,所以就报错了。当然后面关闭的时候肯定会报错,因为是个无效的参数。因为你都没打开,你怎么去关闭呢,你打开都失败了,你关闭必然会错误,所以说你看这close fire也是一个错误的明白啊,所以说我们这地方文件呢,就不要写错了理解。好了,这是我们一个最基本的操作,大家看看。理解了没有?理解了没有啊,从这里面我们可以看出。
12:00
看出文件其实又是真。得到看出啊,看出文件就fire。BI就是一个指针。对不对,它是一个指针,其实就是这个指针嘛。是不是?OK,好,现在呢,我们把这个代码给大家整理一把。没问题吧,同学们。不难啊,这个并不难,很简单。好,我把这个代码给大家板书一把。板书一把。从这开始截取。好的。从这截取。到第23行全部截完。好,同学们,那关于我们文件的第一个。就是关于文件的打开和关闭呢,最简单的一个应用,我们就先给同学们介绍这介绍到这里,那后面呢,就是关于文件一些具体的实践应用了,比如说读啊,写啊等等等等,好,关于这块打开和关闭文件,我们先给大家介绍到这里。
我来说两句