00:00
那接下来呢,我们看下一个新特性,这呢提到files这个类当中新增加了一个方法叫做Miss match,诶首先说这个S是我们操作文件的一个工具类,这个files呢,是在我们JAVA7的NIO2啊,为什么叫二呢?因为我们JDK4的时候呢,引入了叫NIO,那么JAVA7的时候呢,对这个NIO呢,呃,API呢进行了一些添加啊,这呢我们就把它叫做NIO2了,在NIO2当中,我们引入了一个操作本地文件的一个类啊,叫做false类,诶同时呢,我们还引入了一个相关的接口,叫做pass,还引入了一个叫加S的一个pass。诶,这个pass呢,来替换咱们原来的啊,用file来表示一个本地文件,这个带S的pass呢是一个类啊,用来生成一个pass的实例啊,是这样的情况,那这个方法呢,叫做Miss match啊,Match呢叫做匹配Miss match呢就是不匹配的意思,好,我们来看一下这个具体的操作是什么意思啊,把它呢CTRLC粘过来啊,这个因为比较简单,我就诶不直接来写了啊,咱们来说明一下。
01:01
新建一个文件啊,我这呢,不妨就叫做files的一个测试了。好,CTRLV啊,把我们这个方法呢粘过来啊,这呢已经是一个单元测试方法了,我们简单看一下这个代码,首先呢,去创建一个file writer里边呢指定了一个tmp文件目录下的A文件啊,然后呢往内部去写入写出ABC数据啊,关闭这呢是创建了另外一个叫B文件,写入写出呢叫AE啊这样的呃数据,最后呢,我们去调了一下叫Miss match啊这个方法呢,是我们JAVA12当中定义的,那这个方法呢,需要传进来两个参数。传进来两个参数啊,一个呢是pass,就是我们刚才传递这个A文件啊,另外呢是我们的这个B文件,好这个呢,先别着急去运行啊,虽然说我们这里边AB文件,呃,要求呢,我们写出的时候呢,不一定存在,但是呢,这两个文件所在的目录呢,是需要存在的啊,这要注意。呃,那么对于咱们idea来讲,我使用的是单元测试方法,那么这个时候的相对路径是咱们当前的module。
02:09
哎,当前的module啊,这个呢,大家需要注意一下,我们把这个事呢,稍微给大家说明一下啊,就是诶这个使用idea。的单元测试方法,哎,那么默认的相对路径。哎,是在。啊,是在咱们的,哎,当前的这个module下好,那么这个时候呢,我们在当前的module下呢,新建一个directory,我就要TP了,OK。那里边儿的这个AB文件呢,我们就不用去创建了啊,在写出的同时呢,它会自动的帮我们创建并且写出数据,那写出数据以后呢,做一个Miss match跑一下。好,那这时我们发现这个结果呢,是一这个一是这个一吗。
03:03
哎,不是这个数据一啊,那它是什么呢?我们判断一下它是否不匹配,诶,我们写出的第一个数据呢是A,第二呢也是A啊,这俩数据是一样的啊,第二个数据呢是B啊,这个时候不一样了,我们返回了当前的索引,这呢是索引零,这呢是索引一。哎,就是这样个情况,你看一下我们这个missmatch这个方法哈,关于它的这个return这块也说明了,说返回首次不匹配的一个position,所以呢,刚才返回的是一个一,那或者的话呢,如果完全匹配啊,就是没有不匹配的情况,我们返回呢负一,那也就是说如果把这A呢改成是一个B的话。诶大家呢,再去执行我们这个方法。哎,你会看到这时候呢,返回就是负一了,好,就是这样个问题啊,行,那通过这个方法的测试呢,我们想多说两句啊,就是咱们在讲这个IO的时候呢,提到了一个叫file类,用它呢来表示我们本地的文件,那么在提到这个NIO的时候。
04:03
啊,IO准确说呢,就IO2了啊呃,引入了一个呢,我们叫诶files这样的一个操作本地文件的一个工具类。哎,这是它啊,那除此之外呢,还引入了这个叫pass,那用这个pass呢,我们说去替换啊,原有的咱们这个file了,那还有提到了另外的一个结构呢,叫带S的pass啊,真的是一个类啊,这个前面这pass是个接口啊,这个带S这个pass呢,它用来去实例化,哎,咱们这个pass啊。呃,那么我们想跟大家说的是什么呢?就是原来这个file呢,它当中也提供了一些方法啊,用来操作我们本地的一个文件啊,那这个pass也好,大S的pass也好啊,它当中都有一些方法呢,去操作本地的文件,比如说呢,判断一下我们当前这个文件是否存在啊,你的上层目录啊,呃,你的完整路径啊,呃嗯,重命名一下啊,哎等等啊这样的一些操作,那我们当时也提到过,说这个基本上它当中是不包含我们对具体的文件内容的操作的。
05:03
因为涉及到文件内容操作的话呢,我们就需要用相关的一些流来进行了啊,那这呢,我们看到这个方法叫Miss matchtch,它其实深入到了我们这个文件的内部啊,进行一个一个数据的一个读取了啊,是一个比较特别的方法啊,这个大家关注一下这个特点。啊,这就可以了啊。
我来说两句