00:00
说完了这个文件的这个写入了,那接下来我们来说我们文件的一个读取,读取其实跟我们这个写入其实是一一对应的啊,这块我们来说一下,我们说文件的读取,文件的读取我们还是也是分这么几种形式啊,哪几种形式呢?第一种我们叫做一个简单文件,不是叫我们的同步文件读取,第二种我们叫做一个异步文件读取,第三种是我们简单文件读取,然后第四种是诶流式文件读取。认准们这四种啊,这四种那同步和异步我就不再去演示了,因为同步异步其实跟我们之前那流程是基本上是一致的,先open,然后再这边就不是write,就是read,哎,Read然后干嘛呀,Close啊close就这么一个流程,我就不再去演示这个东西了,我们直接来说这个简单文件读取啊,直接来说简单文件读取,那你感兴趣可以把这东西去看一下啊,跟我们这个,跟我们这个这个同步异步写入基本上是一致啊,基是一致的,那我们来看简单文件这个读取直接来看。
01:16
我们的这个API在这简单文件读取,我们叫什么呢?FS叫做一个RA的,RA的这个是这是异步文件读取,Read的SNC,这是一个什么呀?Read s nc跑哪去了,在这,这是一个同步的文件读取,而我们简单的叫什么呀?叫read file,还有一个red,我们这个file SN啊,这两个方法来先看我们这个red five。叫做简单文件读取,一个是red file,还有一个是我们red file s。那这一块我们直接来看,其实so easy是吧,So easy你看第一个是一个pass pass是什么呀?是不是路径啊,哎,Pass是我们要读取的这个文件的路径,然后options可选的就可选的一般都不需要传了,是什么呀?是我们选项吧,我们这个配置参数,我们读取的一个选项,哎读取选项只要主要指什么,你是就那个操作服flex,你是R还是W还是什么这个操作符我们可以设置,还有就是什么呢?还有就是你这个编码有就是这个权限,那这个东西一般我们干嘛呀,都不写了啊,咱们都不写了,然后第三一个是我们这个扣back,我们的这个回调函数啊回调函数,那我们说了读取以后通过什么呢?我们通过回调函数将什么呢?将我们读取到的这个内容返回那注意了,我们说了right file,这是异步的方法,它有回调。
02:49
调函数,而right file s有没有回调函数啊,没有,它是怎么返回读取内容的,通过返回值,那通过返应值,而我们这个扣back,这个有扣back是通过什么呀?回调函数的参数来返回的啊好,那我们来一个Y,一个FS等于一个这个require,来一个FS,然后我们来一个读取,直接来什么呢?FS点一个re red file啊red file来一个路径,我就读hello3.tit读这个文件,All可以省略。第三个参数直接来一个function function我们这来一个什么呢?第一个注意回调函数的参数两个,一个是error,一个是我们这个data,看文档,文档在哪写的call back直接看它的例子是不是,一个是error,一个是data呀,它这块用的是一个箭头函数,我们就当成普通函数看就完事了啊,一个是error error还是我们的异常对象,Data常什么意思,数据数据是我们读取到的那个数据啊对到数据来看一下,直接来个error,然后。
03:49
一个data,然后在这我们还是如果没有错啊,如果没有错在这儿我直接data点一个log干嘛呀,我把读取到的数据是不是输出啊,哎,输出我们来运行一下。
04:01
非常简单啊,是不是读到了,读到一什么玩意儿啊,哎,八分啊,读到的一个这个八分,它是一个这个缓冲区的对象啊对象,那这里边我们来说一下它的参数ER是什么呀?是我们这个错误对象还是那个错误优先,只要有可能出错误,第一个一定是L对项,第二一个叫做一个data,这是什么呢?这是读取到的这个数据啊,它会什么呢?会返回一个buff分啊,会返回一个buff分,那问题来了,这玩意儿读的是啥也不知道啊。哎,我是不是需要把它转换成字符串啊,哎,点一个突死缀,然后运行诶。是不是,哎,读取到的是我哈T3.t里边的东西,那我觉得这东西太少了,咱们多读点来。啊,这文本粘过来,然后这时候再读走,是不是整个都读出来了啊,整字出来啊读取这个文本内容,那这块同学们可能会觉得奇怪了,为什么奇怪呢?因为我读取数据,你说你直接给我返回一个字符串不好吗?
05:12
为什么给我返回一个八份呢?你返回个八分我还得涂死对吧?还有八分还得涂此缀,那多麻烦,你说给我直接返回个字符串行不行?行不行,行不了要行他就给你返回了,对吧,就因为不行才给你返回八分,为什么。我是非得读文本文件吗?不是吧,假如说我读的是这玩意儿。CTRLV粘过来叫什么?叫做安点JBG,这是一个什么呀?图片吧,哎,我问你,我读一个安点JVG,你这玩意儿,你说你给我整一字符串行不行,哎,你看着啊,我这来一个这个凸死拽,你看看直接运行走你诶好,这就是读书的图片,你能看出是个人吗?看不出来吧?哎,看不出来为什么呀,那这你读出来图片里边是不是二进制数据啊,如果你都转换成一个字符串,那它实际上字符串使用的是UTF杠八进行编码吧,好,你用UTF杠八对于图片编码,那这是靠谱吗?不靠谱,所以注意它为什么返回的是一个八份,为什么是个八份,因为就是什么呀,我读到的不一定是个文本文件,有可能是个图片或者是音频,或者是其他类型的文件,那这个时候如果返回一个文本,是不是通用性就不高了呀?而这个buff份有什么特点?
06:47
是不是什么都行啊,哎,想读谁就读谁,比如说我桌面有一个什么呀,MP3,那我能不能读来,我这复制一下这个路径CTRLC在这我粘过来吧,我这写一个变量,我叫一个pass啊,咱们单独定一个变量粘过来,然后这个MP3的名呢,我叫了一个笔记点MP在CTRLC。
07:11
CTRLV是不是这个MP3地址啊,哎,大家注意这个斜杠我得去改一下,改成我们这个斜盖。改完了以后,我要读这MP怎么读啊,直接把这个路径改成我的这个pass,诶pass这一保存一运行pass。是不是就读出来了,哎,这是我们MP3的这个二进制代码,你说我把这转换成字符串行吗?不行,你这你你转换成串,你你能看出12来对吧,看不出来,所以这种情况下都是返回八份,通用性更高,它不会返回一个组串啊组串好,那这块我们就要说一个问题了,那现在呢,我们这儿已经咱们还是读这图片,把图片小一点,读这图片,我这一读出来以后呢,图片已经读出来了,那读出来以后我就想做一件事,什么事呢?这数据我是不是已经读出来了,诶我能不能把这数据。
08:05
咋写出去呢?我能不能写到别的地方去呢?行不行,数据是不是已经有了呀?哎,那在这儿我来做一件事干嘛呢。哎,我来将我们这个data写入到什么呀,我们这个文件也就是说什么呀,我把我读到这个内容是不是再写出去呀,怎么写看着了,我直接再来一个FS,点一个,我来一个right file是不是也要传一个路径啊,传一个路径,那我换一个吧,我换一个hello.gpt啊,还点gpt,然后这块也需要一个这个哎需要第二个参数是什么呀?第二个参数是不是我们要写的那个数据啊,哎,数据啊,你看当你当你在写的时候,你说我这老师我想不来写什么了,你写个逗号,稍微等会儿是不是有提示啊,第二个是是我们要写的这个数据,第三个是我们这个option option我们就不传了,直接传1FUNCTION回调函数,然后在这我们来运行一下,还是回到函数里边,有一个叫做error,我直接判断了,如果没有错,我们来一个叫做文件写入成功文件。
09:15
写入成功,那现在我们来看效果啊,直接运行来走你诶写入成功发现什么是不是多出了一个hello.dpd哎,然后我这一打开是不是就打开了,所以通过这个东西完成了一什么功能,是不是一个复制啊,我把这个文件是不是复制成这个hello.dpd了,你说往这复制不过瘾,你复制桌面去行不行?哎,那你需要把路径给它写完整一保存,咱们现在来看桌面上他现在是不是没有啊,直接运行走。是不是来了,哎,这就达到了一个这个复制的一个目的啊,复制一个目的,好,那这个是我们说的一个,这个叫做一个简单的文件读取,然后我来听一下,你们来自己测一下。
我来说两句