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 張貝貝 閱讀(1310) 評論(1)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 友谊县| 望城县| 石林| 正安县| 兴国县| 上杭县| 河西区| 兖州市| 清苑县| 连平县| 崇文区| 延吉市| 舞钢市| 天全县| 富平县| 织金县| 湛江市| 河源市| 丰镇市| 凌源市| 涞水县| 曲阳县| 黔西县| 高陵县| 隆安县| 信丰县| 香河县| 广平县| 改则县| 巴南区| 开平市| 格尔木市| 鹤壁市| 元阳县| 镇原县| 西充县| 云龙县| 阿勒泰市| 大安市| 宁津县| 乡城县|