java序列化與還原序列化操作執行個體分析_java

來源:互聯網
上載者:User

本文執行個體分析了java序列化與還原序列化操作。分享給大家供大家參考,具體如下:

概述:

Java序列化是指把Java對象轉換為位元組序列的過程;而Java還原序列化是指把位元組序列恢複為Java對象的過程。

範例程式碼:

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("中國人",23);      out.writeObject("你好!");      out.writeObject(new Date());      out.writeObject(customer);      out.writeInt(123);      List list = new ArrayList();      int i =0 ;      while(i<100) {        Customer customer2 = new Customer("中國人",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;  }}

希望本文所述對大家java程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.