00:00
来,那如果说我能不能一次序列化多个对象呢?就一次,就是说我我有好几个对象,我想学列化。都放到文件当中。不是不是不是克隆那个是另外一个接口啊。克隆。C也是个标志接口,也是个标志性接口啊,来在这呢,我们新建一个class,这个class我们叫object output stream test,零二,注意听课了啊,注意听课了,来咱们集中精力往下听啊,就是能不能一次序列化多个对象呢?可以啊,可以将对象放到什么,放到集合当中,序列化集合。明白吧,哎,序列化集合。在这块呢,你可以再去准备一个类型,对吧,假如说我们现在呢,在这有个B啊,这个B呢,这块怎么着啊,哎,我们新建一个class,我们叫user user这个类呢,我们加in number,然后加一个stringname。
01:08
行吧,啊,就就这么地了啊,加上去这个构造方法,无参的再加一个构造方法,有参数的再加上去我们的set get方法,再加上去一个to string方法,行不行?来这写上来to string是不是。好吧,这个类就写完了啊,接下来我们在这块干什么呢?给它去化多个user,怎么user呢,Least user,大家看啊,User user list new一个什么呀。你一个A好,那么接下来我们在这块呢,把这个给它导进来啊,导进来来B下面有user啊。那么这个list集合我们给它给进来啊,创建好之后呢,我们user list这个集合点at,又一个user进去,那user是一,然后呢写上去张三,然后这是一个对象u list调I,然后呢,紧接着new一个U,然后接下来我们这写上二,然后接下来再加一个叫李四的。
02:08
行吧,然后user list这个集合调I的方法,把我们的这个哎,User对象再扭出来,然后接下来我们再写上去。王五,好了,那么接下来我们在这呢,Output。OS等于new,一个object output stream。New一个对象,New一个file output stream new完之后呢,这里写上users。好吧,来users啊,这个地方的异常咱们先不用管了,我准备一个集合来,接下来在这呢,os.flash刷新,os.close关闭啊,这很正常的一个操作,然后oos.right or,我把user list集合传进去,大家看是不是一次序列化,哎,就是序列化一个集合啊,序列化一个集合,这个集合对象中放了很多其他对象。
03:06
来,我们走一下运行。好,我们来看啊,出什么问题了,他说come.b po java.b下面的user这个类怎么着不支持序列化是不是,所以说还是那句话,需要让他去干啥呀,去实现啊,都得实现各位啊,都得实现,来这个实现the liable是不是云东老师,这个list集合它需要实现吗?也需要你点过去,大家看这个list的集合往上走,它有没有实现这个接口,我们来看一下啊,呃,叫S有没有啊。A release集合是不是也实现了这个接口叫still reliable吧?对吧,哎啊S,那么这块的话,咱们直接运行,我们再来看看这个行不行啊。好,可以了,那么现在呢,摆在大家面前呢,有个有有有有有一个什么呀,叫users这样的一个文件,这个文件里面存储的就是我们所有的用户信息了啊用户信息了,那么我们能不能反序列化呢?对吧?哎,我们再给它反序列化回来,各位啊,反序列化来这块的话,我们再去新建一个class叫object什么呀,Into the stream test02啊input stream test02啊来走一个叫反序列化什么呀,反序列化集合来,那么这一块呢,咱们给它反序列化一下,各位啊。
04:29
怎么返修的话呢,其实和我们之前写的代码是一样的啊,这个这个里边我提示一下啊,提示一下,提示参与序列化的list集合。以及集合中的元素user都需要实现什么java.io Li接口啊,接口都需要去实现啊,来反去化一下。咱们反映说object input stream是不是,哎,然后呢,O。
05:01
你用一个object什么input stream读嘛,你用一个file input stream是不是读哪个呀,叫users这个文件吧,来这个异常咱们先不用管了啊,来在这块呢,我们读的话o is.close关闭呗,来o is.read object会返回一个什么呀,Object。是不是,哎,那我们输出一下obj instance of一个list,它是否是一个list集合来走一个。好的,看吧。是不从这个文件里边反序列化回来,这个对象是一个例子的集合呀。对吧?哎,那如果它是一个list的集合,那我这个代码是不是就可以这样写了呢?就读出来之后呢,我直接强转,转成什么呀,我list集合,List集合里面存储的是类型的对象,对吧?哎,返回个list集合来user好了,接下来我们叫做user什么哎,List,然后呢,我们把这个怎么着啊,哎,给它引进来啊,引进来然后for循环对不对,哎,User,然后user user list,然后接下来我们输出这个user,它的to方法是不是,哎已经重写了,那么接下来我们看看能不能拿出来啊走。
06:13
大家看是不是很正常啊,很正常啊,所以说序列化多个对象大家会了吗?序列化多个对象,你就把它放到一个list的集合里边,把list的集合给它序列化到我们文件当中,但是要注意我们的list的集合和我们的list集合里面存储的元素都需要去实现这个接口,这是第一件事,第二件事就是反序列化的时候呢,回来这个object,它是一个集合例子的集合啊,如果是个例子,一个强转就行了,转成例子这个for循环取出每一个用户对象,这时,哎序列化什么呀?哎,多个对象各位啊,序列化多个对象。嗯。
我来说两句