00:00
复习一下,打开我们的E瑞高级,嗯,L流好之前的话呢,咱们是把这个file这个类呢就讲了,然后呢,我们昨天呢,一上来就开始进,正式进入这个L物流,那首先关于流的一个分类,诶刚才呢也考到了,这个呢是需要大家掌握的,哎,CTRLC直接呢我们就粘过来了,那对应的有个图示,通过这个图示呢,更加方便大家呢去理解我们这里边的几个这个分类的这个角度啊,这是咱们上课画的这个呢,是画好的这个啊,咱们把这个画好的这个粘过来吧。好,这是这个啊,再接着提到呢,叫硫的一个体系结构,这个留在体系结构呢,哎,咱们呢,就把咱们PPT里边涉及到的这个图拿过来,这个图里边啊,这样我把它截个图啊,上面呢这四个这呢我们提到的叫四个抽象积类啊,然后下面呢,这里边提到了很多的这个瘤,每一个竖着去看,每一个瘤呢,它的负类就是我们最上面对应的这个红框里边的某一个,哎,咱们也讲过了以后缀大家去判断到底是一个什么瘤,那这是第一个事儿,第二个事儿,这里边呢,加这种深色的和这种蓝色的,这是我们这张需要大家重点关注的流,除了这些流之外呢,还有很多别的流,咱们呢也没有说全角,那全讲的话,你看一下API那个包下还流还挺多的,我们呢,只挑了其中的一部分啊,给大家又介绍了介绍,像这个比如打印流啊这个这边。
01:42
没有写的标准的输入输出流啊,啊这个这个等等啊这样一些流,我们又介绍了一下行这块呢,我就把它呢拿过来啊,在这里边呢,简单做一个说明,哎,那我们说这个红框对应的是这个IO流中的哎四个,哎抽象积累啊,就是我们这一章里边,其实除了咱们后边要讲的一个叫r access file之外啊,剩下的这个流呢,都是继承于现有的这四个流了。
02:17
啊,为什么r ma ex比较特别呢?咱们说到它的时候再讲啊,哎,这是第一个事,然后另外一个事呢,就是这个蓝框算蓝框吧,啊蓝框的这个流,哎,需要大家啊,这个重点关注啊行,这就我们说的这个问题,那接下来我们呢,这章讲解的时候呢,重点呢,一开始提到了几个流,大家呢,也把这几个流当成我们一开始学习的这样的一个开始啊,或者一个标准。这几个呢,清楚以后你再看其他的轴,其实都是这样一个套路啊。张12。
03:00
这个呢,有点太长了啊,还得往前转。转不过来了。再想点,哎,这这这样也行,想了个招啊,这个招不行,想截个图,截图也不够啊。小点太聪明了是吧,这样这样。
04:06
好,这呢就是我们涉及到的这样的几个流啊,嗯,这里边呢,我们为什么要强调它们呢?就是一开始咱们先讲这个叫节电流,因为它呢直接可以作用在文件上,相对比较简单一些,那通过这几个流呢,大家体会一下读入和写出的过程,那在这个基础上呢,咱们讲了一个叫缓冲流啊,缓冲流属于处理流的一种,哎,它呢就作用在已有的流的基之上,相当于以它为代表,咱们就可以把处理流啊,怎么叫处理流,怎么体会叫作用在已有的流的基础之上啊,其实呢,就是把已有的这个流呢,作为一个参数放到我们这个流的构造器当中就OK了,然后接着呢,你操作都是操作,我们这个叫缓冲流啊就可以了,那说到这儿的话呢,我们这一张,我给大家放了一个word,这叫装饰的设计模式。哎,这个设计模式呢,就不给大家展开去说了,那在我们IO流这一档呢,其实可以体现出来这个叫装饰的设计模式,说回忆一下咱们Java当中输入各种这个输入和输入流,说各种功能呢,一层嵌到一层,哎出理流就是在已有的流入机上又包了一层啊,就好像不断的给一个产品加功能,哎这个加完以后呢,在消费者看来,原来是什么产品,现在呢还是什么产品,只不过呢,这个功能呢增加了啊,就是我们缓冲在它的基础之上呢,把它的功能加强,加强的作用呢,就是让这个流的传输,这个传输速度更快了,那其他的流的话呢,有其他的一些功能,比如转换流啊,我能把你这个流字节的转换成字符的,还是字符的转换成字节的等等啊,这呢就涉及到这个叫装饰设计模式啊,这个呢就不具体去讲了啊,这个文档呢,我给大家写的比较清楚了,讲了一些这个案例啊,有兴趣的同学呢,下来可以做一个扩展啊去看啊,最后呢,还将这个装饰模式跟我们的代理模式呢做了一个对比啊行,简单的了解一下就行了啊这呢就不具体去深究了,那这个环。
05:51
通流啊也好,这个节点流也好,里边呢,我们操作起来的这个方式其实都是类似的读都用它特别的话呢,就是对于我们读取这个那字符串的时候啊,读取这个字符的时候呢,Buffer的reader多了一个方法,仅此而已,那写的话呢,都是right啊,都是right啊处理单位不同,嗯,这个注意一下就可以了啊行,这是我们说的这个事儿,那接下来呢,这呢,我写了一个标准的一个输入输出的一个过程,那首先对于我们这个输入过程来讲,呃,我们呢,暂且呢,还是把它看成是四步啊,大家写的时候呢,可以把它一二步合成一步,那首先呢第一步。
06:31
第一步做什么呢?就是创建文件啊对,就是创建我们这个file类的对象啊,指明我们读取的数据的一个来源,通常呢,咱们要求是不是此文件一定要存在啊,那你家读文件的啊,这个文件要不存在,那不我知道你要读啥呢?不知道了就啊这个这是第一个问题,这我就不写具体代码了,然后第二问第二步。
07:02
是不是创建相应的是不是输入流。啊,你看你这个字节单位字符了啊,哎,我这创建相应的输入流,哎,然后呢,将咱们file类的对象哎作为这个参数啊,这个传入流的这个构造器中表示呢,我们这个流呢,就是来操作你这个文件的第三步。就是具体的是不是一个读入过程啊,那具体的这个读入过程,那那具体一个读入过程呢,我们呢,说通常啊,这里边呢,需要去创建,创建相应的啊,你是一个呃,BAT的数组啊,或者呢,哎,是一个叉型数组啊这样方式啊,同时呢,需要大家去使用一下循环来处理啊OK,这呢是具体的这个过程,这个我们就不详细的写了啊,因为这呢,我们写一个泛泛的一个通用的一个过程,最后一个对关闭我们这个流资源,哎,关闭有资源啊OK,这就是咱们说的这个四个步骤,还是加上这样一个说明,哎说这个里边程序中出现的异常。
08:20
呃,需要呢,使用哎,Try catch哎,Finally来处理啊,诶为了保证我们的资源呢,是一定可以关闭的,嗯,是这样啊嗯,这是我们一个输入的过程,然后输出的过程呢,其实跟它呢对应,哎跟它呢对应的,呃,我们也可以把这个位置比如CTRLC这样粘过来,顺便呢,你也看看这个区别在哪,首先创建file类的对象,指明写出啊的数据的一个位置,我这个数据呢到底写到哪,那这时候呢,我们是不是不要求此文件一定存在,对啊呃,也没说一定不存在啊,这个看你实际问题了,你是想直接呢造一个文件把这个数据写进去,还是说呢,我有一个文件了,你在后边去追加内容,对这个咱们呢,主要是看你下边这个构造器用的哪个参数了,是吧?这咱们不是稍微提过这个事啊,一会呢,说下边的问题呢,写一下啊。
09:20
那么再接着创建相应的输出流。哎,将发律对象,哎这个传入我们这个流的构造器当中啊,具体的一个写出过程,哎写出过程,写出过程呢,这你就呃需不需要它,那看你实际问题了,那有的时候呢,我们直接呢,就是往里边往外写数据就完了啊就不不会涉及到这个事儿,那你就直接呢,在这里边去调这个right方法就可以了,嗯,通常呢,咱们调的这个right方法啊,嗯,你要么呢,这是一个叉型的一个数组,或者是一个right的一个数组啊,这是你这个数组的一个变量名在后边呢,通常是不是都是零。
10:01
哎,在后边呢,是一个len哎用的都是这个方法啊,小心下一个关闭了资源,哎还是用一常哎拆开finally进行处理。没了整个这一章,咱们这个过程呢,其实都是这几步,那唯独呢,就是你可以把这个一跟二呢,可以合一起,那就算三步啊,那就算三步,三步也好,四步也好,本质上来讲是一样的,OK。行,这个呢,我们就结束了啊。
我来说两句