00:00
好,各位,我们接着来给大家讲解下一个章节,这个章节是我们的第14章,叫文件操作。文件操作,那这这个章节呢,重点就是给大家讲一下在勾浪里面去如何操作我们的文件,也就是说如何读文件,如何写文件。对不对,主要是这样一些操作。包括对文件的增删改查等等,这些呢,我们都要给他说一下,这块是我们的文件操作这个章节,好,那同样道理,我们呢,还是老规矩来做一个章节,新的章节的处理,好吧,我们叫什么呢?叫做文件操作。文件操作,给他一个标题。给他一个一号标题,OK,好,这是第14章,那么第四章文章居然是文件的操作,首先我们要对文件做一个基本介绍。文件的基本介绍,我们要对文件有一个初步的认识,来,我们看一下。
01:02
那首先呢,我们来看一下文件是什么。文件对我们并不陌生,文件是数据源,就说我们这些数据其实都是保存在文件里面的。当然有同学说了,说老师,我记得有些数据它不是保存在数据库里面的吗?告诉大家,数据库本质也是文件。只是它的文件的这个形式呢,跟我们普通的文件不太一样,明白我的意思吧,好,所以说文件呢,其实就是数据源,它是保存数据的一个地方啊,比如说大家经常使用的word文档。还有这个文本,文本文件,还有Excel文件都是文件,那么文件最主要的作用就是保存数据。它最主要的作用就是保存数据,它既可以保存一张图片,也可以保存保存视频和音频,比如说保存一个声音,保保保存一首歌,或者是保存一部电影,这些呢都是我们文件要做的事情,因此大家就记住一句话,文件就是数据源。
02:02
明白这意思吧,你把这个概念。要有认识,就是文件,就是保存数据的地方,OK,好,那这块呢,我们先把它放起来。好,板书到我们的这个word文档里面去。那我们再来看,在我们编程里边呢,在整个这个文件操作里面呢,文件它是在程序中以流的形式来操作的,所以说我们经常说文件它是一种流,文件流吗?那这里嘛,既然谈到这个流,我们就有必要给大家介绍一下,什么叫流,流指的是什么呢?数据在数据源。就是说,也就是说文件和程序之间经历的路程路径,我们就把它叫做流。那我们经常操作呢,有两种流,一种叫输入流。一种叫输出流。各位听其名而知其意,什么叫输入流呢?
03:00
大家看我这个图,如果这个数据是从文件向我们这个go程序里面这个内存流动,我们把它叫输入流,也就是说当我们是读取的时候,我们叫输入流,读输入流呢,往往对应的是读的操作。读文件。能理解啊,那这块因为有点小了,我把它稍微放大一点。输入流呢,一般我们讲的是读文件。当然还有一种流叫输出流,比如说我们把内存里面的数据重新写回到文件。那么这个数据的流向呢,是从内存向文件流动,我们把这个叫什么呢?叫做输出流,这个呢,往往对应的操作是什么呀?是写文件。叫写文件。理解啊。一个是读文件,一个是写文件,这个基本常识大家要有一定认识,大家看我这里面也说了,很清楚数据从数据源到程序的路径,我们叫输入流,就是从这个什么呢?从文件向程序内部流动,我们叫输入流反过来。
04:19
反过来叫输出流,就是数据从程序的内存向数据源。流动我们叫输出流,就是写文件,比如说内存里面有些数据,我们要把它保存到文件里面呢,我们叫输出流,这个基本认识大家要有啊好,我们把这个呢也做一个介绍。OK,这个叫文件。流的一个介绍。那我写到这里来叫什么呢?文件叫输入流,输入流和输出流。对吧,这个概念呢,大家要有。
05:00
我把它做一个板书。对不对,这个大家应该能理解吧。啊,一个叫输入流和输出流,怎么判断是输入流和输出流,主要是看它的流向。我再说一点啊,文从文件到内存,我们叫输入流,也叫读文件,从内存这个数据如果是从内存向文件流动,我们叫输出流,也叫写文件。应该很清晰对不对?好,我们再来看下一个,那么在我们的这一个勾浪里面去勾浪这个语言里面。对于文件的操作,它主要是。由哪个结构体来提供的呢?是这个结构体,呃,在勾浪里面有一个包叫OS包。OS包,这个OS包里边呢,有一个结构体叫。这个file呢,它封装了所有文件相关的操作,比如说我们来看一下,就是这个file是个结构体,它里面有很多方法,我给大家看一下,比如大家来lawyer。
06:05
比如说read读。斜。写一个字串。对不对,Seek定位。同步close等等等等,大家看到这里面呢,其实都是这个file这个结构体,跟它跟这个file结构体绑定的方法,所以说在我们做文件操作的时候呢,我们必不可少的会跟这个file结构体。打交道。那么我们来再看一下它的这个文档,是不是这样说的,打开我们的这个文档,我们来打开OS。这是我们的go官方文档,大家看到这有个包叫OS包。这是个OS包,那么我们来看看里面有哪些操作,大家看这里。这里边儿呢,有一个file结构体。大家看这里是不是?大家看这里啊,跟上思路,因为后面呢,我们要经常用到它,这有一个file type,它是个结构体,里面呢有些方法。
07:08
啊,这大家看啊这些。这些这前前四个其实呢,它不是跟这个结构体绑绑定的,它就是普通的方法后边啊,这包括这个也是啊,前五个后边大家看这里。从这开始,大家看是不是都是跟file结构体绑定的方法,比如说状态。改变路径。改变所有者,改变文件模式。Read读取,Write写入。定位同步关闭是不是都在这里啊,所以说后边呢,我们会经常。用到这个file结构体,那我进去给大家看一下,点一下看,File它是一个结构体,它代表什么呢?File代表一个打开的文件对象。那有些呢,喜欢把它叫文件句柄。都可以啊,都可以,它这里面有很多方法对吧,Create open,看下面就是给它绑定的啊,大家看从这开始都是跟这个结构体绑定的方法。
08:08
对不对,它比如像name就可以返回这个文件的名称对不对?TE可以返回这个文件的一个fire in for类型,从从这个fire in for呢,可以拿到文件的大小。对不对,文件的修改时间等等等等,所以说我们会经常使用到这个file结构体,明白好,我把这个板述一下。文件基本介绍。就是这儿。OK啊。嗯,你必须要知道我们大体将来会用到哪些函数,那这样听起来就会比较轻松。好,我把这块呢给他放一下,我就不多说了好不好,刚才已经领着同学们看了一下。我把这个。这一块给大家放一下,哎哟,怎么这么慢呢?
09:00
好到哪儿去找啊,同学们注意。我把它放到这里。注意听啊,是OS这个包包,OS这个包里面的一个file结构体,封装了所有文件的操作。我再多说一句话,总结一句啊。总结一下后边,后面我们对文件操作时,对我们操作文件会。经常。经常。使用。使用到什么呢?OS这个包里面的file啊,这个结构体。明白啊明白好,那关于这个文件的一个最基本的介绍呢,我们先说到这里,我们说了一下什么是文件,并且呢,介绍了一下这个输入流和输出流,以及在我们勾浪里面去,在勾浪这个程序里面呢,我们会进会用哪一个。哪一个结构体的方法来操作文件呢?就是这个OS包包里面的一个file结构体。
10:03
好,我把这再。介绍一下。文件的概念。好,我把它板书好一点。这样大家以后呢,直接看文档就可以了。好,那关于文件的基本介绍,我们就先给同学们介绍到这里。
我来说两句