zoukankan      html  css  js  c++  java
  • Java学习之IO流(操作对象--ObjectInputStream与ObjectOutputStream)

    操作对象

    ObjectInputStream与ObjectOutputStream

    就是把对象持久化(对象存储到硬盘上),表现形式就是对象文件

    持久化对象必须实现Serializable接口

     1 public class Person implements Serializable {
     2     private String name;
     3     private int age;
     4 
     5     public Person() {
     6     super();
     7     }
     8 
     9     public Person(String name, int age) {
    10     super();
    11     this.name = name;
    12     this.age = age;
    13     }
    14 
    15     public String getName() {
    16     return name;
    17     }
    18 
    19     public void setName(String name) {
    20     this.name = name;
    21     }
    22 
    23     public int getAge() {
    24     return age;
    25     }
    26 
    27     public void setAge(int age) {
    28     this.age = age;
    29     }
    30 }

    一、ObjectOutputStream

    1 public static void writeObj() throws IOException {
    2     ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("obj.object"));
    3     oos.writeObject(new Person("zhang",13));
    4     oos.close();
    5     }

    二、ObjectInputStream

    1 private static void readObj() throws IOException, ClassNotFoundException {
    2     ObjectInputStream ois=new ObjectInputStream(new FileInputStream("obj.object"));
    3     Person p=(Person)ois.readObject();
    4     System.out.println(p.getName()+":"+p.getAge());
    5     }

     三、Serializable接口

    通过实现java.io.Serializable接口的类,可以启用类的可序列化性。
    可序列化性:实现java.io.Serializable接口的类添加一个serialVersionUID
    作用:判断序列化的类和反序列化的对象是否是同一版本
    强烈建议所有可序列化的类显式声明serialVersionUID值
     
    writeObject方法负责为其特定类写入对象的状态,以便相应的readObject方法可以还原它。(序列化)
    readObject方法负责从流中读取并还原类字段。(反序列化)
    注意:类的签名以及该类及其所有父类型的非瞬态(transient关键字)和非静态字段的值。
  • 相关阅读:
    set集合 浅层拷贝会和深层拷贝
    "is"与"=="
    元组和字典
    运算符和列表
    Python 基础语法
    supervisor 安装配置详解
    如何运行vue项目
    过目不忘JS正则表达式
    vue Bus总线
    Robot Framework 环境安装(一)
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12141793.html
Copyright © 2011-2022 走看看