00:00
天,我们还是先把我们这个文件模块给他说完,这文件系统FS模块还有一点东西,我们来说一下JS,这是一个一零,这是我们这个什么呢?哎,这个FS中的这个什么呀,其他的这个方法,比如说我们这还有一些比较常用的方法,我们也要说一下,那这一块看哪呢?直接往下找,我们的课件里写了这个一部分这个方法。那最后我们这个其他操作,这里边我们什么呢?哎,有一个叫做exist exist还有exist SOC,这表什么呢?验证我们这个路径是否存在啊,是否存在,那这是什么意思,什么意思,我们去,哎我们去什么呀,我们去磁盘里去找一个文件,我们有的时候需要,我不想看这文件内容,有时候就是看什么呀,看这个文件有没有啊,有没有,那这个时候我就可以用这个exce exist,那这个exce是一个什么呀?异步的,这是什么呀,同步的,但是你注意了,我这给他打了一条红线,表示什么意思,哎,这方法不用,为什么不用了,咱们来看这,我们这来一个FS,点一个这个exist,咱们来看干嘛了?哎,是不是废弃的呀?哎废弃的告诉你使用别的方法去代替,为什么废弃了,咱们说了,那像这种功能exist它是干嘛呀,检查一个文件是否存在的,那像这种东西我们还用E,其实在这没有什么必要,因为我们要检一个文件。
01:26
存在往往我们需要干嘛呀,我们是不是需要立即知道结果呀,我要检查你,你告诉我存不存在就完了,不要在整这些异的,所以我们在用异的时候一定注意,我们不是为了异步而异步,有一些简单操作,没有必要用异步的干嘛呀就不要用了,因为这个时候用起来会干嘛呀,会比较复杂,让我们代码复杂程度进一步提升,所以我们在用E步的时候,什么时候用E步,对性能有要求的时候,我们干嘛呀才使用E,而这个没有要求,我们就不要用一步,好,那这一块我们来看一下,就要直接看这个exist sc这个方法,这方法其实很简单,来,我们先画一个FS,等于一个这个require FS,我先引入这个FS模块,然后这里边我们来说一下这个方法,哎,叫做一个exist sc,它的作用什么呀,是检查一个文件是否存在啊,是否存在,那这一块我们直接调一个。
02:26
换一个我直接来一个FS,点一个X exist,一个SNC,是不是需要传一个路径啊,比如说我检查谁呢?A点MP3是否存在,我直接写一个A点MP3,那这块它应该干嘛,是不是我返回一个结果呀,我直接来一个意思e is ts诶直接打印一个哎问他是否存在,然后干嘛呢?我把这个结果来做一个这个输出来一个if exist来一个这个log直接一输出走,你出来什么呀,True比示这文件存不存在呀,存在来我a123.m米三有没有没有直接在这一运行走,你是什呀,For啊所以以后如果需要检查一个文件是否存在的时候,就用这个X exist啊exist好,那再往下说下边的一些方法,下边还有什么呢?就到叫做一个这个state state什么意思?
03:23
State什么意思?叫做一个状态,哎,State叫什么呢?叫做获取我们这个文件的一个状态,它这块同样也是给我们提供两个方法,一个是这个同步的,还有一个是异步的,那这种情况我就直接演示一个异步的就完事了,那这块我们来看state怎么看,直接来一个FS点一个这个state,比如说我还是看这个A点MP3,我直接写一个A点一个MP3,然后这来一个这个function,那是不是表示我要看它这个状态呀?那问题来了,那它这状态我怎么看呀?哎,注意了,它会干嘛呢?诶给我们返回一个对象,那这个对象中保存了什么呢?当前对象状态的这个相关信息,所以注意在这个回调函数里,它实际上给我们返回了一个对象,那这块我们先看看啊,直接来一个。
04:24
你们点一个我要干嘛呀,我是不是先看看有没有啊,哎,有没有直接运行走是不是有啊,哎,第一个你看了一个no,它第一个什么哎,Error,所以第一个还是我们这个错误优先,第一个是一个error,第二个对象呢,我们就叫它一个state,那所以这个对象里边保存的就是我们当前这个什么呀,就是保存我们当前这个文件的一些状态的一个信息,我们来再运行一下。哎,是不是这些信息啊,我们来看有什么呀。哎,他这写的,比如说我们可能看到一个认证叫什么呀?叫size size什么意思大小啊,所以如果你这如果是s state,点一个这个size,在这儿可以运行获取到是什么呀?是我们这个文件的打小这个MP3,这文件占了我是不是这么多字节呀?哎,占这么多字节啊,所以这里边注意size size表示我们这个文件的一个这个大小,那还有其他的吗?哎,那这块我们需要看一下文档,直接找一下FS,点一个这个state state这里边我们来看它这里边有两个参数写了叫什么呀?一个是error,还有一个states,那它是一个FS statess这个对象,那这个对象里边有什么呢?哎,我们来点开来看一下,诶这里边我们来看它这是不是有这么几个方法呀,第一个叫做is fair,第二个叫做is directory,诶这个s file什么意思?哎,是不是一个文件。
05:55
在这我来打印一下Excel啊,我来调用一下EXCEL1运行true是不是文件,是文件,Excel叫什么呢?叫做,哎,是否是一个文件啊文件还有一个方法,我们叫做一个is directory directory什么意思呀?文件夹是否是一个文件夹,那问你了,是文件夹吗?哎,不是吧,哎,这是是否是一个文件夹,这两个东西肯定是反着的,你要是文件你就不是文件夹,你要是文件夹就不是什么呀文件啊来这运行什么意for啊,或者说是文件夹,或者也可以说是否是一个目录啊都行啊好,然后呢,再往下看,下边还有一些用的不多了,我们就不再细说了,然后包括里边它还有一些属性,刚才我们看到了一个叫做size size是我们这个文件的一个大小,然后这儿还有一些各种各样的什么呀,这都是一些时间戳,对吧,时间戳。
06:55
还有什么什么,呃,Birth time,这time什么意思啊,文件的这个创建的这个时间啊,创建时间我们就不依次看了,反正你要知道在这个对象里边可以获取一下我们文件的一些这个状态啊,一些状态好,然后再往下说state说完了再往下有一个叫做link。
07:16
什么没有你这是。哎,安令可能就是断开连接,能理解意思吗?哎,假如说我说了,哎我要断开你和这个人间的连接,那什么效果呀,你是不是死了呀,哎,你就死了,那同样我要断开我们这个文件和我磁盘的连接干嘛了,文件是不是被删了呀,所以iing非常简单,就是删除我们这个文件啊,就是删除我们这个文件,那这块我直接调一个FS,点一个这个I link调个简单的吧,调一个这个同步的,哎同步的那我就删一个谁呢?比如说删一个这个A点,诶hello.tdtd,那这块我直接运行看着啊,直接运行咱们来看是不是就没了啊,就没了,当然你可以调我们这个什么呀,调这个异步的,异步的需要传一个回调函数啊,需要传回调函数,所以按link是一个删除文件啊,我们就不多说了,再往下看,下边还有一些其他操作,这叫什么呀,Read。
08:27
的DD看到D你就知道它是目录文件夹的意思啊,那D嘛,哎,读取这第二法呢,它用来读取一个目,目录中的什么呢?一个目录的一个读取一个目录的目录结构什么意思,我现在拿到一个文件夹,我希望知道你这个文件夹里有哪些文件,用什么用这个read点来我们来看一下怎么用FS点一个RA的DRRA的DR里边它需要传一个路径,那比如说我就传什么呢?我传个点点什么意思,就读取我当前目录啊,我就传个点表示我们这个当前目录,然后option我们就不管它了,这里边我直接传一个function function里边我是可以传这个参数,哎,那这块我们要看一下它这个方式里边有哪些参数,我们叫做一个RAID re RA的一个电压,Read电压直接。
09:27
再看To Back里边两个参数,一个是error,还有一个是files error还是我们这个错误对象是吧,我在这可以判断一下,如果没错对吧,然后干嘛呢?我看一个这个,那我们这其实就不关心,关心的是是什么来运行一下看,看来咱们先不管内容是吧,我们看是什么东西。哎,是个数组啊,所以注意这一块我们的false,它是一个字符串的数组啊,每一个这个元素,哎就是一个文件夹或什么呢?或文件的名字啊,文件的名字,所以你会发现我这数字里第一个元素是谁,01:08.gs是不是就是我第一个文件呀,第二文件是不是零二.fs.gs第三个是异步文件写入点GS,所以你会发现这个数组里面放的都是什么呀,是不是都是我这个文件或者文件夹的一个名字,所以这个话就一个作用,把你这文件夹里有什么全都给你读出来,就相当于什么呀,我们CMD1打开这来一个,这样是不是也是把这目录都给你列出来了,哎,这个也是基本上这有一个作用啊好,这个是我们说的RA的电压,我们快速去过一下就OK了,再往下看,下边一个叫做Y。
10:54
窗key叫什么玩意儿,截段,截段文件截段,其实昨天我们去讲那个那个描述符的,其实也说过这个截段,截段是什么意思呢?我们直接来看一下,直接来看一下我们这样啊,我们这来说一下叫做什么呢?这个叫做截断我们这个文件啊,那这块我简单一点,我不用回调函数了,因为截代我也不需要都反映什么结果,我直接来一个FS,点一个窗体的一个SYNC,它这面需要传一个路径啊,诶比如说传一谁呢?传一个HELLO2,点一个T,然后要传一什么呀?Les Le是不是长度啊Les啊看着我来一个十,看什么效果啊,咱们先看看HELLO2 hello2里边现在是不是有这么些东西啊,哎啊,我来十的话会有点小,会有点小的这个意向出现是吧,我们来看看啊,我直接运行一下走是不执行完了看这。
11:48
这是一,然后来什么呀,问号,哎,这什么意思?哎,看着啊,我改一个ABCABCDEFGHIJKLLLMN,随便写一个啊,这便写一个写一对,然后这写什么呢?我窗给它来一个三啊三我们这运行走你。
12:10
是不是就剩一个ABC了,哎,就剩一个ABC了,所以创立的什么意思啊,截段文件干嘛呢?诶叫做将我们这个文件修改,为什么呀,指定的一个大小,我写个三表什么意思,哎,把文件设成三个字节啊,三个字节那同学说说刚才那玩意怎么乱码了,我们来写,今天天气不错。哎,我这截了一什么呀,我这截了一个十十什么效果,一个汉字是三个字节,我十个字节是不是正好三个汉字又富一个字节呀,所以他什么呀,他把这个气截了1/3,气截1/3干嘛呢?一运行他就不认识了,就乱码了,看到这意思吧,哎,所以会为什么会出现这个问题啊,一定注意在截中文的时候,它会有一些这个小的隐患,所以他就是把我们文件改变为指定的一个大小啊窗体好,然后再往下看,下边还有几个啊,不多了,诶交到一个什么呀,Make d。
13:17
这其实这东西其实都不用演示了,因为一看名字你就知道什么意思,Make叫什么呀,创建啊,创建make DLL是创建一个这个目录啊,创建一个目录啊,创建一个文件夹啊,或者创建一个目录,我直接调一个同步,咱们演示一下了,直接FS点一个这个makec d make d,我直接来一个hello吧,Makeate DR,我来一个S,这下我们同步去后边那model可选的就不填它了,也是权限的东西啊,权限东西直接预称。Hello,红上的是不是啊,哎,就创建了一个文件夹啊,Make电压,那这些东西在我们去做操作的时候,其实都会遇到一些啊遇到一些好不多说了,Make电压完事以后再来看,下边就来一什呀,这这这俩是一套的是吧?哎叫做一个什么呀,remove.rm点叫什么呀,叫做删除一个目录啊删除一个目录直接调一下了,FS点一个RM.snc直接调同步的来一个什么呢?Hello,这表示删除hello这个文件夹直接运行走是不是没了,哎就没了啊其实跟我们这个电脑里的操作是一样的啊添加呀,删除啊这些东西,好再往下看下边这个,诶有点意思叫什么呢?Rename,诶name叫重命名我们这个文件夹,哎叫什么呢?这块直接说对什么呢?这块是对我们这个文件。
14:49
进行这个重命名啊,重命名那我们来看怎么用了,那这里边注意了,其实一看就看懂了,它需要的参数很简单,我说一下参数有什么呀,Old的pass什么呀,哎是不旧的路径啊,或者说其实就是旧的名字啊,或者是旧的一个路径,然后new pass new pass是什么呀?哎,是新的路径,然后扣back是不是我们回调函数,哎,我们这个回调函数,那我们直接来写了FS点一个这个rename rename呢,旧的路径,比如说我这一个a.M比三,我就写谁呢?我就写一个A,点MP3,然后新的呢,我给它改个名,我叫做一个笔记,哎,点一个MP3对吧?哎,我把这A点MP3改成这个记点MP3,然后这来一个function,这里边肯定会有一个error,如果没错的话,我干嘛呢?我就输出一下cancel.log一个。
15:49
叫什么呢?哎,叫做修改成功啊,改名成功,然后在这一保存,我们来看效果,直接运行走,是不是修改成功啊,发现什么了,那A点MP3又没有了,没有了是不是变成BG点MP3了,哎,所以rename就是一个重命名的作用,非常的简单啊,一个老名一个新名,这一改就OK了,但你说我再运行还行不行。
16:14
哎,不行了,为什么A没了吧?哎,A没了,但是这里边我们要再说一个用法,那我们会发现其实他之前写的叫做一个old pass,而我们这写的叫做一个new pass,也就是说它不仅仅是传一个文件名,是不是可以直接传一个路径啊,那看着我怎么写啊,我干嘛呢?我在这复制一个路径。我复制一个啊,然后在这干嘛呢,写上,诶,然后啊,我这给它转移一下,现在你注意了我在干嘛,我是不是直接把这个路径改成了一个另一个位置路径啊,改成到C盘的这个桌面上的笔记点你看吧,名字其实没变,还是笔记,但是我们说了这个会有什么效果,再说这里边这文件还有没有了,诶那么看效果啊,我直接运行一下我。
17:03
没了吧,跑哪来了,是不是跑这儿来了,哎跑这来了,那这什么作用,是不是相当于剪切呀,把文件从这个位置剪切到了什么样,其他位置,相当于把这个文件给它移动了啊移动了,所以这块它既可以重命名,其实也可以用它间接的实现这个什么呀,剪切的功能啊,移动的功能啊,好,这是我们说的这个,然后最后一个,最后一个就是叫什么呢?叫watch。是干嘛的?看看文件,什么叫看文件,其实不是看你watch是什么呀,监视啊监视监视我们这什么呀?哎,监视我们这个文件的一个这个修改诶修改诶watch是这个什么呀?监视意思是吧,你叫night watch是吧,首页人嘛是吧,来在这我们来看一下,那要干嘛呢?我直接这这什么作用啊,你看它这参数第一个传一个file name,第二个传什么呀,Listener什么意思,看着FS点一个watch five我还坚持坚持谁呢?我坚视一个hello2.1个TS,然后我这来一个方,那这什么意思?诶也就是说注意它实际上需要一个回调函数吧,回调函数什么什么时候执行,诶我们先说先说一下参数吧,百慢说一下啊,参数第一个叫做一个file name file name是什么呢?要监视的这个文件的一个名字,然后这个option是可选的,Options是什么呀?是我们这个。
18:40
哎,这个配置这个选项,也就说你有些选项你需要可以配置啊,然后第最后一个叫一个listener listener是什么呢?是我们这个回调函数,回调函数什么执行,当我们这个文件发生变化时,哎,文件发生变化时,回调函数会什么呀?会执行,那我们来看看会不会在这来一个cancel.log一个写一个什么呢?文件发生变化,看看效果啊,在这一保存,我们来运行一下,直接运行,你注意啊,刚才我们运行程序,看这如果我们没写它的时候,我这运行程序,我这运行啊,你看是不是运行完了一闪就变就变回来了,但是注意这个时候我如果把这watch file运行起来,我们会发现什么呢?走是一直是一个红色状态啊,这表示什么意思?表示我程序停没停没停一直。
19:40
运行运行干嘛?运行就是在监听这个文件的一个什么呀变化,说白了哥们现在上岗了干嘛呀,看着这个哈点T这文件,诶那看着它干嘛,现在是不是一直没发生事啊,什么时候发生事了,诶来我这改一个,诶今天天气。
20:00
细向,哎,这么棒,我这一保存咱们来看,哎,但是哥们明显反馈有点有点迟钝是吧,但是是不是确实监听到了啊,听到了啊,它的作用就是监听间的变化,不仅仅是在工具里,你在外边改随便改,只要是这文件发生变化了,他干嘛呀,他都能看到啊,写一个。稍微等一下是不是也可以出来呀,哎,就可以监听到这个文件的发生的这个变化了,但是明显这哥们是不是有点有点迟钝是吧?哎,有点迟钝,那咱们先不管这个迟不迟钝的事儿,我们先说一个问题,什么呢?发生变化了,我不关心它发生变化是吧?我想知道什么呀?我想知道更具体一些,比如说它怎么变了,哎,比如说怎么变了,比如说原来是10K,现在变成100K了,我是不是需要知道它这个变化的结果呀,那怎么办呢?哎,我们来看实际上它的函数里边会有回调,会有参数啊FS,我们叫做一个watch watch fair,哎,我们来看它的函数里实际上会listener啊,在这我们来看看它例子,它是不是传了两个参数,一个叫做current,还是叫做啊,咱们就起到这名,我们来说一下这个回调函数,在我们这个回调函数中会有两个。
21:26
参数哪两个参数,一个叫Co叫做什么呀?Current current是什么呀?是我们当前文件的状态啊,当前文的状态,然后bra呢?哎就是什么呀,是我们修改前文件的这个状态,那这两个是什么玩意儿啊,这两个对象,这两个对象都是什么呢?都是我们这个state,这个对象还state对象,哎,那谁是state对象,那其实我们上边是不是用我们这个state,是不是获取文件状态的时候,它里边给我们返回一个对象啊,那两个对象的类型和它是一样的,也就是说像size呀,啊这些东西它都啊都可以调啊都可以调,所以假如说你想看看我们文件大小的变化,可以怎么办,在这直接写怎么说,诶当前文件大小,然后我这加一个current,点一个size啊size,然后我们这来一个修。
22:26
诶,当前文件大小,然后什么呢?应该这这么写吧,我们来一个这个叫做修改前文件大小,我这来一个什么呀,Free啊之前的,然后呢,这来一个什么呀,修改home文件大小,我们来一个什么呀,来一个这个card啊card,然后这一保存还是啊我们来重新运行一下这个程序,直接走现在干嘛呢?来我给他改多改点。把这一段文本全都给它粘过来,那这样是不是变化稍微大一点,对吧,保存一下,我们发现修改前是39,修改后是不是三千一百一一了,哎,就这么一个效果啊,通过这种方式就可以看到我们文件的一个变化,甚至说你干嘛呀,你就给他删除一点。
23:13
哎,这文件干嘛了,是不是就变小了。诶,别讲了啊,这是我们说的一个watch five,他可以监听我们文件的一个变化,但是还是说我们刚才这问题是不是会感觉到这东西有点有点慢是吧?哎,反应有点慢,但是其实他这个时间相对来说还是比较合理的,我们来说一下他这块是怎么做到的,他怎么就做到了,说我能监视文件的变化怎么做到的。哎,其实它里边会有一个定时机制,它干嘛呢?它可以每间隔一段时间就去检查一下这个文件的一个什么呀状态,比如说我每隔十秒干嘛呢?我去检查一下文件的状态,检查完了干嘛呀,我和我上次检查那个结果进行什么呀对比,我发现这两次结果发生变化了,我就触发事件,如果没电我是不触发呀,哎,不触发,所以它每一次检查和每一次检查之间是有一个间隔的,比如说是十十秒钟,比如说是什么呀,20秒,你想想他是不是就速度就不稳定了,比如说什么,比如说你正好是在第19秒改的,那你这改完了以后,是不是立刻就被看到了,哎,如果你是在第一秒改的,你是不是还得等20秒才能看见啊,还能看见,所以就这么一个区别,那我们说,那我走上他的时间间隔。
24:29
短一点,那首先注意啊,这东西它是需要耗费我们系统性能的,你时间间隔越短,是不是对性能耗费越大呀,哎,越大以这个东西呢,不宜太短,但我说要改,我要怎么改,哎,你看这它是不是一个选项叫option,哎,Option,所以咱们来看文档,在这个options里边,我们可以传这个什么呀,参数,这是你叫做一个inter,什么意思呀,间隔啊间隔它默认是什么呀,五秒一次啊,默认五秒一次,你觉得这时间太短了,太长了干嘛呢?你在这儿写一个啊,注意怎么传options,一般都是传一个对象,对象里面加属性,属性比如说改一个改成一个1000干嘛呀,一秒一次啊,一秒一次,那这回你就发现哥们老灵了,走。
25:21
是不是很快就出来了,哎,很快的出来,因为每隔一秒钟检查一次嘛,当然它对性能的耗费也是相对来说比较比较大啊,比较大,好,这也是我们说的一个watch file啊,监视文件的变化,然后咱们还是啊把这几个方法就大概过了一遍啊,还是这个东西以了解为主,不需要你去把每个方案你都记下来,你大概有个印象,知道有就行了,回顾一下啊,Exist sc,检查文件是否存在state获取文件的状态啊状态,然后按link是删除文件啊,删除文件read d读取一个目录中的这个目录结构,也就说我这个目录里边有哪些文件啊,哪些文件,然后窗K的截段,一个文件,原来是10K,我给你变成111字节,对吧,截段文件把这文件变得小一点,把变小一点,但是它文件虽然小了,有什么问题啊,东西是不是就没了啊,有问东西就没了啊,然后这个make d什么呀,创建一个。
26:21
啊目录诶RMD叫做remove,删除一个目录啊,是一个目录,Name重命名,也可以做一个移动文件,剪切文件的一个作用握file,监视我们这个文件的一个变化啊,监视我们文件的变化,好,在这我们来听一听。
我来说两句