多个对象的序列化与反序列化 |
您所在的位置:网站首页 › java反序列化多个对象 › 多个对象的序列化与反序列化 |
序列化:即是将对象化为字符串的存储。 反序列化:即将存储的字符串再转换为对象。 通过Map集合将多个Students类的信息进行序列化与反序列化。 下面为创建的Students类: import java.io.Serializable; public class Student implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String name; private String sex; private int age; public Student(String name, String sex, int age, String cla) { super(); this.name = name; this.sex = sex; this.age = age; this.cla = cla; } public Student() { super(); } private String cla; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCla() { return cla; } public void setCla(String cla) { this.cla = cla; } }下面为创建的进行序列化与反序列化Students类: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class SerialStudent { public static void main(String[] args)throws Exception { // TODO Auto-generated method stub //调用序列化方法将对象进行序列化 SerialStud(); //创建map集合接收反向序列化的对象 Map map = OppositeSerialStud(); //将序列化的对象打出到控制台 Iterator ite=map.keySet().iterator(); while(ite.hasNext()){ Integer key = ite.next(); Student stu = map.get(key); System.out.println(stu.getName()+"\t"+stu.getAge()+"\t"+stu.getSex()+"\t"+stu.getCla()); } } //序列化Student类 public static void SerialStud()throws Exception{ //存放多个对象信息 Map map = new HashMap(); // String name, String sex, int age, String cla map.put(001, new Student("张三丰","男",19,"高中")); map.put(002, new Student("李寻欢","男",13,"初中")); map.put(003, new Student("周芷若","女",9,"小学")); //序列化map集合 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("c:/ce/student.txt"))); oos.writeObject(map); oos.close(); } //反向序列化Student类 public static Map OppositeSerialStud()throws Exception{ ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("c:/ce/student.txt"))); Map map = (Map)ois.readObject(); ois.close(); return map; } }为了取得可直视的效果,将序列化进行了输出,可以直接在控制台进行观看。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |