Example analysis of java serialization and deserialization operations

  • 2020-05-12 02:38:41
  • OfStack

This article illustrates the serialization and deserialization operations of java. I will share it with you for your reference as follows:

Summary:

Java serialization is the process of converting Java objects into byte sequences. Java deserialization is the process of restoring a sequence of bytes to an Java object.

Sample code:


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
public class Test {
  /**
   * @param args
   */
  public static void main(String[] args) {
    try {
      ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:/objectFile.obj"));
      Customer customer = new Customer(" The Chinese ",23);
      out.writeObject(" hello !");
      out.writeObject(new Date());
      out.writeObject(customer);
      out.writeInt(123);
      List list = new ArrayList();
      int i =0 ;
      while(i<100) {
        Customer customer2 = new Customer(" The Chinese ",i);
        list.add(customer2);
        i++;
      }
      HashMap hashMap = new HashMap();
      hashMap.put("customer", list);
      out.writeObject(hashMap);
      out.close();
      ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:/objectFile.obj"));
      System.out.println("obj1= " + (String) in.readObject());
      System.out.println("obj2= " + (Date) in.readObject());
      Customer obj3 = (Customer) in.readObject();
      System.out.println("obj3= " + obj3);
      int obj4 = in.readInt();
      System.out.println("obj4= " + obj4);
      Object obj5 = in.readObject();
      System.out.println(obj5);
      HashMap hash_map = (HashMap)obj5;
      List l = (List) hash_map.get("customer");
      System.out.println("size: " + l.size());
      for(int ii=0; ii<l.size() -1 ; ii++) {
        Customer c = (Customer)l.get(ii);
        System.out.println(c.getName());
        System.out.println(c.getAge());
      }
      in.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
  }
}
class Customer implements Serializable {
  private static final long serialVersionUID = 1L;
  private String name;
  private int age;
  public String getName() {
    return name;
  }
  public int getAge() {
    return age;
  }
  public Customer(String name, int age) {
    this.name = name;
    this.age = age;
  }
  public String toString() {
    return "name=" + name + ", age=" + age;
  }
}

I hope this article has been helpful to you in java programming.


Related articles: