00:00
各位同学大家好,欢迎各位继续收看上硅谷Java n IO课程,咱们继续来看这个八缓冲区操作,刚才呢给各位演示了缓冲区分片,下面呢我们演示第二种缓冲区操作,叫做只读缓冲区。什么叫只读呢?很好理解,比如说我们现在我们可以读取里面数据,但是不能向里边写入数据,而这个时候呢,我们一般用这个方法叫I read only b来创建一个只读缓冲区,这是我们的做法,而这个过程中各位注意啊,这个方法会返回一个与原缓冲区。完全相同的缓冲区,并与原缓冲区进行数据的共享,只不过它是只读的,如果说原缓冲区里边内容发生了变化,那只读缓冲区内容也会随之发生变化,这个叫只读缓冲区,那下面呢,咱们也是通过一个例子给各位来把这效果咱们来演示一下,那我现在里边我来解一下。
01:11
这个不做,只读。换成区,然后咱们在里边,我们也是建一个方法,我们来一个public,比如我叫这个B02。咱们把方法创建,然后创建之后在里边我们写下这个相关的代码,首先里边的就是第一部分,咱们也是建个buff方向B位中放内容,这和刚才的代码是一样的,那这个代码我给各位就直接过来了,因为跟刚才是一模一样的,然后这个做完之后,下面到咱的核心代码,咱们创建一个就是只读的缓冲区,把这个做创建,那怎么创建,我们用八块里边那个方法。这个方法叫做I need only,这样的话把这个我们做做一个创建。
02:08
然后创建之后再起个名字,比如叫这个力的动力。这是关于只读缓冲区的创建,然后创建之后呢,咱们改变一下这个缓冲区里面这个内容,给它做改变。比如说代码是刚才是一模一样的,这里边我就快速写一下啊,都来一个破循环。在里边电力I等于零,I小于这个八点再加加,然后咱们向里边来写入它的这个内容啊,那这里边我来写一下,就改变你这个原缓冲区里边这个内容。那我们来做一下啊,这里边比如来一个这个呃,八点商艾这个艾。
03:00
返回到一个字节数组的一个B,然后向里边我们给它放内容和刚才代码是一样的,八块点或一个二,然后咱放一个这个把,也是搭上这么一个规则。那咱们也是乘以这个值,这样的话完成了往里边放数据。然后完成之后呢,下面呢,咱把这个read only回到它的初始值,就是它的position,包括我们来设置一下啊,第一个它里面这个。我们把这个值变成零。看完之后再把read only里边这一个limit。变成八份点的开体,这样的话完成了,完成之后,最后咱们从是图画成区中来取它的那种,因为大家要注意啊,刚才我提到如果说你原缓冲区那种发生变化,那只读缓冲区是不是会跟着它发生变化,所以最后咱们给下来取一下。
04:14
我们写一个循环。瑞点上女媚。大于零。然后从里边取数据。Read only.it把这个数据最终取出来,也就是说只读缓冲内容会跟着你原缓冲区的内容的变化随之会发生变化,所以咱们现在把这段基础的代码我们就完成了。完成之后最终呢,咱们把这个B02这个代码测试一下,看一下里面的效果。然后大家看数据是不是都变化了,因为你注意啊,我现在读的是不是这个只多缓冲区啊,只多缓冲区会随着原缓冲区的变化,它也随之发生变化,所以这个值我们就读到它变化之后,这个数据也是刚才提到的里边这个特点,所以各位啊,把这个只读还出去操作给它,记住这是我们演示的第二个基本操作。
我来说两句