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

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


          網站導航:
           
          主站蜘蛛池模板: 石狮市| 漾濞| 苏尼特右旗| 遵义市| 金湖县| 岫岩| 即墨市| 类乌齐县| 宁化县| 金坛市| 昭苏县| 迭部县| 保山市| 陆河县| 乳源| 丹棱县| 翁源县| 大石桥市| 呼图壁县| 临洮县| 常宁市| 西藏| 荆门市| 伊宁县| 兴国县| 宣汉县| 方山县| 永顺县| 石河子市| 腾冲县| 鄂托克前旗| 巧家县| 连南| 娱乐| 洞头县| 栖霞市| 伊川县| 高密市| 安陆市| 临海市| 灯塔市|