隨筆-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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 军事| 洪泽县| 广汉市| 游戏| 中阳县| 盐边县| 阿巴嘎旗| 佛坪县| 涞源县| 新乡县| 邻水| 北流市| 元阳县| 嘉禾县| 忻城县| 尤溪县| 永川市| 沅江市| 于都县| 睢宁县| 皮山县| 开远市| 宿松县| 油尖旺区| 榆林市| 雅安市| 石楼县| 娄底市| 屏东市| 万载县| 从江县| 铅山县| 云浮市| 成安县| 玉环县| 陆丰市| 尼木县| 育儿| 汉沽区| 大名县| 西乌珠穆沁旗|