posts - 6,  comments - 8,  trackbacks - 0

               對象流(對象序列化與反序列化)
                 ObjectOutputStream和ObjectInputStream  序列化:把對象寫到一個輸入流中;反序列化:從一個輸入流中讀取一個對象。Serializable序列化接口沒有方法或字段,僅用于標識可序列化的語義。
               序列化步驟:
          1.創建一個對象輸出流,,該輸出流可以包裝其他類型輸出流
          2.通過這個類的writeObject()來寫對象

              反序列化:
          1.創建一個對象輸入流,它可以包裝其它類型的輸入流
          2.通過該對象輸入流的readObject()方法來讀取對象
               要序列化的對象要實現Serializable這個接口       要注意讀取的順序
               每個對象的hashcode是唯一的,也就是說內存地址是唯一,直到被銷毀。
          在String“= =”比較的是地址,equals()比較的是內容,在Object中,“==”比較的是地址,equals()比較的是地址(如果不重寫此方法),重寫后可比較內容

            下面是部分可用代碼:
           1//存儲數據,序列化對象數組
           2    public void ser(Object obj[]) throws Exception{
           3        OutputStream ops=new FileOutputStream("D:\\test\\objcetFile.txt");
           4        ObjectOutputStream out=new ObjectOutputStream(ops);
           5        
           6        out.writeObject(obj);
           7        out.close();
           8    }

           9    
          10    //讀取數據,反序列化對象數組
          11    public Object[] dser() throws Exception{
          12        
          13
          14        InputStream ins=new FileInputStream("D:\\test\\objcetFile.txt");
          15        ObjectInputStream ois=new ObjectInputStream(ins);
          16        
          17        Object[] obj=(Object[])ois.readObject();
          18        ois.close();
          19            
          20        return obj;
          21
          22    }
          該代碼中存儲的是對象數組
          posted on 2010-03-18 20:47 張貝貝 閱讀(1314) 評論(1)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 康马县| 鄂托克旗| 吉首市| 泊头市| 西贡区| 若尔盖县| 武功县| 缙云县| 嘉禾县| 清水县| 太湖县| 怀远县| 瑞金市| 新竹市| 门头沟区| 沧州市| 左云县| 清水河县| 无锡市| 二连浩特市| 上犹县| 翁牛特旗| 武山县| 淅川县| 米泉市| 芜湖县| 阜新| 茶陵县| 滦平县| 金堂县| 奇台县| 祁门县| 丹巴县| 伊宁县| 德惠市| 嘉兴市| 延寿县| 灵川县| 定结县| 阿巴嘎旗| 南昌市|