• 序列化和反序列化


    把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(); } }
  • 相关阅读:
    Java 线程池概念、原理、简单实现
    Java 中的等待唤醒机制透彻讲解
    Java 多线程安全问题简单切入详细解析
    理解 Java 多线程
    Java 异常的处理
    Android MediaPlayer的生命周期
    Node.js 撸第一个Web应用
    Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》
    使用Intent传递对象
    Android 异步查询框架AsyncQueryHandler的使用
  • 原文地址:https://www.cnblogs.com/liutianci/p/8168022.html
Copyright © 2020-2023  润新知