zoukankan      html  css  js  c++  java
  • 19、Java 序列化

    1使

    IOJava

    IO*Java

    Java使

    使

    1

    2使

    3

    RMIremote method invoke,javaJavaBeanSerializeable

    2

    使;

    (1)

    (2)

    3Java

    3.1 使Serializable

    Student

    package com.example.main;

    import java.io.*;

    /**
    * @author lin
    * @version 1.0
    * @date 2020/7/11 22:04
    * @Description TODO
    */
    public class Student implements Serializable {
       /**
        * 
        */
       private static final long serialVersionUID = 1111013L;
       private String name;
       private String gender;

       public String getName() {
           return name;
      }

       public void setName(String name) {
           this.name = name;
      }

       public String getGender() {
           return gender;
      }

       public void setGender(String gender) {
           this.gender = gender;
      }

       @Override
       public String toString() {
           return "Student{" +
                   "name='" + name + ''' +
                   ", gender='" + gender + ''' +
                   '}';
      }

       /**
        * 
        */
       private static void serializeStudent() {
           try {
               Student student = new Student();
               student.setName("");
               student.setGender("");
               //    
               ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("D://student"));
               os.writeObject(student);
               os.close();
               System.out.println("");
          } catch (IOException e) {
               e.printStackTrace();
          }
      }

       /**
        * 
        */
       private static void deSerializeStudent() {
           try {
               ObjectInputStream is = new ObjectInputStream(new FileInputStream("D://student"));
               Student stu = (Student) is.readObject();
               System.out.println(":" + stu.toString());
               is.close();
          } catch (IOException | ClassNotFoundException e) {
               e.printStackTrace();
          }
      }

       public static void main(String[] args) {
           serializeStudent();
           deSerializeStudent();
      }
    }


    :Student{name='', gender=''}

    3.2 使Externalizable

    Person

    package com.example.main;

    import java.io.*;

    /**
    * @author lin
    * @version 1.0
    * @date 2020/7/11 22:18
    * @Description TODO
    */
    public class Person implements Externalizable {
       private String name;
       private int age;

       public String getName() {
           return name;
      }

       public void setName(String name) {
           this.name = name;
      }

       public int getAge() {
           return age;
      }

       public void setAge(int age) {
           this.age = age;
      }

       public Person(String name, int age) {
           this.name = name;
           this.age = age;
      }

       public Person() {
      }

       @Override
       public String toString() {
           return "Person{" +
                   "name='" + name + ''' +
                   ", age=" + age +
                   '}';
      }

       @Override
       public void writeExternal(ObjectOutput out) throws IOException {
           //name
           StringBuffer reverse = new StringBuffer(name).reverse();
           System.out.println(reverse.toString());
           out.writeObject(reverse);
           out.writeInt(age);
      }

       @Override
       public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
           //name
           this.name = ((StringBuffer) in.readObject()).reverse().toString();
           System.out.println(name);
           this.age = in.readInt();
      }

       public static void main(String[] args) throws Exception {
           ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("Person.txt"));
           ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Person.txt"));
           oos.writeObject(new Person("brady", 23));
           Person ep = (Person) ois.readObject();
           System.out.println(ep);
      }
    }

    :

    ydarb
    brady
    Person{name='brady', age=23}

    SerializableExternalizable
    Java

    ExternalizableSerializable

    4java

    4.1 serialVersionUID

    InvalidClassExceptionSerialVersionUid

    4.2

    ,,,write read 使,,

    . static

    1

    2

    4.3 Transient

    Transient transient int 0 null

    Studentgender :

    private transient String gender;

    :


    :Student{name='', gender='null'}

    5

    java

    1. javaBeanSerializable
    2. transient
    3. 使transient
    4. 
    5. class
    6. 
    7. readResolve()
    8. 
    9. serialVersionUID 便


                    

    圈~

     注公众号

  • 相关阅读:
    We7网站群系统中标胜利油田项目 开源CMS
    We7荣获“政府网站群建设最佳产品奖” 开源CMS
    JAVA中 成员变量和和实例变量区别 前行
    HTTPS 加密原理探究 前行
    zip mysql安装启动方式 前行
    如何获取监听iframe src属性的变化进行后续操作 前行
    js分割url提取参数 前行
    web跨域问题解决方案 前行
    作业3.18
    3.26作业
  • 原文地址:https://www.cnblogs.com/naimao/p/13353341.html
Copyright © 2011-2022 走看看