隨筆-20  評論-2  文章-0  trackbacks-0

          /*

          下面的程序說明了怎樣實現對象序列化和反序列化。它由實例化一個MyClass類的對象開始。該對象有三個實例變量,它們的類型分別是String,int和double。這是我們希望存儲和恢復的信息。

          FileOutputStream被創建,引用了一個名為“serial”的文件。為該文件流創建一個ObjectOutputStream。ObjectOutputStream 的writeObject( )方法用來序列化對象。對象的輸出流被刷新和關閉。
          然后,引用名為“serial”的文件創建一個FileInputStream類并為該文件創建一個ObjectInputStream類。ObjectInputStream 的readObject( )方法用來反序列化對象。然后對象輸入流被關閉。
          注意MyClass被定義成實現Serializable接口。如果不這樣做,將會引發一個NotSerializableException異常。試圖做一些把MyClass實例變量聲明成transient的實驗。那些數據在序列化過程中不被保存

          */

          import java.io.*;
          class MyClass implements Serializable{
           String s;
           int i;
           double d;
           public MyClass (String s,int i,double d){
            this.s = s;
            this.i = i;
            this.d = d;
           }
           public String toString(){
            return "s=" + s + "; i=" + i + "; d=" + d;
           }
          }
          class SerializationDemo{
           public static void main(String[] args){
            //Object serialization.
            try{
             MyClass object1 = new MyClass("Evan",9,9.9e10);
             System.out.println("object1 : " +object1);
             FileOutputStream fos = new FileOutputStream("serial");
             ObjectOutputStream oos = new ObjectOutputStream(fos);
             oos.writeObject(object1);
             oos.flush();
             oos.close();
            }catch(Exception e){
             System.out.println("Exception during serialization :" + e);
             System.exit(0);
            }
            //Object deserialization.
            try{
             MyClass object2 ;
             FileInputStream fis = new FileInputStream("serial");
             ObjectInputStream ois = new ObjectInputStream(fis);
             object2 = (MyClass)ois.readObject();
             ois.close();
             System.out.println("object2 : " +object2);
            }catch(Exception e){
             System.out.println("Exception during serialization :" + e);
             System.exit(0);
            }
           }
          }


          文章來源:http://blog.163.com/ccbobo_cat/blog/static/320994622009616101541196
          posted on 2009-07-16 10:16 C.B.K 閱讀(178) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 中西区| 安丘市| 青海省| 永胜县| 资溪县| 安新县| 徐汇区| 新河县| 新安县| 富蕴县| 鄱阳县| 肇庆市| 新宁县| 阳西县| 车险| 白水县| 安丘市| 贺州市| 论坛| 安泽县| 晋州市| 蕉岭县| 大冶市| 枞阳县| 遵化市| 政和县| 靖安县| 廉江市| 伊金霍洛旗| 天水市| 北碚区| 稻城县| 漳浦县| 和林格尔县| 乌什县| 旌德县| 驻马店市| 东阿县| 临安市| 宜昌市| 贵德县|