序列化和反序列化

把java中的对象保存在持久化文件中,这就是序列化!

把持久化文件中保存的信息还原为java中的对象,这就是反序列化!

想实现序列化和反序列化必须让对象所在的类实现一个Serializable接口!

public class Student implements Serializable{}

    
     //序列化
public static void register() { Scanner input = new Scanner (System.in); System.out.println("请输入学号"); int id = input.nextInt(); System.out.println("请输入年龄:"); int age = input.nextInt(); System.out.println("请输入姓名:"); String name = input.next(); Student stu = new Student(id, age, name); OutputStream out = null; ObjectOutputStream oos = null; try { out = new FileOutputStream("d:/student.txt"); oos = new ObjectOutputStream(out); oos.writeObject(stu); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { oos.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
     //反序列化
     private
static void login() { InputStream in = null; ObjectInputStream ois = null; try { in = new FileInputStream("d:/student.txt"); ois = new ObjectInputStream(in); Student stu = (Student) ois.readObject(); System.out.println(stu.getAge()); System.out.println(stu.getId()); System.out.println(stu.getName()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

 

posted on 2018-01-01 17:40  天天xiangshang  阅读(111)  评论(0编辑  收藏  举报

导航