java序列化和java還原序列化樣本_java

來源:互聯網
上載者:User

序列化一般應用與以下情境之中:

1.永久性儲存對象,把對象通過序列化位元組流儲存到本地檔案中;
2.通過序列化在網路中傳輸對象
3.通過序列化在進程間傳遞對象

複製代碼 代碼如下:

import java.io.Serializable;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class javaSerializable_fun {

/**
   * java.io.Serializable 介面,類只有實現Serializable借口才能被序列化
   * java.io.Externalizable介面,利用java的序列化和還原序列化工具,很多儲存和恢複對象的工作都可以自動完成。
   * java.io.ObjectOutput介面,序列化傳出, 繼承了DataOutput介面並定義了一些方法,它支援對象序列化;
   *   重點說明:在該類中,writeObject()方法是最重要的方法,用於對象序列化,如果對象包含其他的對象引用,則writeObject()方法地櫃序列化這些對象;
   * java.io.ObjectOutputStream類,負責向流中寫入對象,構造方法:ObjectOutputStream(OutputStream out);
   * java.io.ObjectInput介面,序列化傳入。繼承了DataInput介面並定義了一些方法,它支援對象序列化;
   * ObjectInputStream類, 負責向從流中讀取對象,構造方法:ObjectInputStream(InputStream out);
   ***/

public static void main(String[] args) {

    try
  {
   //構造FileOutputStream對象
   FileOutputStream f=new FileOutputStream("C:a.txt");

   //構造ObjectOutputStream對象
   ObjectOutputStream out=new ObjectOutputStream(f);

   Customer customer=new Customer("bj",50);

   //使用ObjectOutputStream對象的writeObject()方法進行序列化
   out.writeObject(customer);

   //關閉ObjectOutputStream對象
   out.close();

   //關閉FileOutputStream對象
     f.close();
     System.out.println("序列化完畢!");
  }
  catch(IOException e)
  {
   e.getStackTrace();
  }

}

}

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;
 }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.