码迷,mamicode.com
首页 > 编程语言 > 详细

【java】多个对象的序列化和反序列化

时间:2018-12-06 15:26:01      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:就是   try   反序   tostring   puts   lis   对象   使用   object   

当我们需要序列化多个对象的时候,可以采用集合把多个对象放到集合中,然后序列化整个集合。

而我们要反序列化的时候,就使用集合接收反序列化后的对象

如:

List<Student> studentList = new ArrayList<>();
studentList.add(stu1);
studentList.add(stu2);
studentList.add(stu3);
studentList.add(stu4);

try(
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("MyCode/src/com/xxxx/Test/stus.txt")); //对象字节输出流关联文件
){

oos.writeObject(studentList); //向stus.txt写入对象(当然我的Student类是实现了序列化接口Serializable)


}catch (Exception e){
e.printStackTrace();
}

以上代码就是把多个Student对象方法一个ArrayList集合中,然后序列化整个集合。
反序列化就如下:
try (
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("MyCode/src/com/xxxx/Test/stus.txt"));
                ){
List<Student> studentList = (ArrayList<Student>)ois.readObject(); //注意这里需要强制转换

System.out.print(studentList); //因为我在Student类中重写了toString()方法。所以可以输出集合中所有对象的信息
}catch (Exception e){

}

【java】多个对象的序列化和反序列化

标签:就是   try   反序   tostring   puts   lis   对象   使用   object   

原文地址:https://www.cnblogs.com/HAHACHANGEFROMNOW/p/10076756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!