tbwshc

          序列化在IO中讀寫對(duì)象的使用

              序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化。可以對(duì)流化后的對(duì)象進(jìn)行讀寫操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫操作時(shí)所引發(fā)的問(wèn)題。

            序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,然后使用一個(gè)輸出流(如:FileOutputStream)來(lái)構(gòu)造一個(gè)ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Object obj)方法就可以將參數(shù)為obj的對(duì)象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。
           寫對(duì)象和讀對(duì)象的時(shí)候一定要使用序列化:

            import java.io.*;

            class Product implements Serializable {

            private static final long serialVersionUID = 1L;

            private float price;

            private float tax;

            public Product(float price) {

            this.price = price;

            tax = (float)(price*0.20);

            }

            public String toString() {

            return "price:"+price+",tax:"+tax;

            }

            }

            public class CmdDemo {

            public static void main(String[] strtb) throws Exception {

            Product p1 = new Product(100);

            ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream

            ("d:\product.txt"));

            os.writeObject(p1);

            os.close();

            ObjectInputStream is = new ObjectInputStream(new FileInputStream

            ("d:\product.txt"));

            Product p2 = (Product) is.readObject();

            System.out.println(p2.toString());

            }

            }

          posted on 2013-09-17 15:12 chen11-1 閱讀(279) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 上栗县| 增城市| 洛宁县| 建昌县| 娱乐| 镇坪县| 汕尾市| 青龙| 高青县| 衡南县| 裕民县| 溆浦县| 彰化县| 博野县| 大埔县| 江安县| 三江| 长汀县| 和平区| 仁布县| 西乡县| 谢通门县| 山西省| 宜兴市| 盐山县| 石屏县| 商城县| 四子王旗| 牡丹江市| 鄂尔多斯市| 河东区| 弋阳县| 拉萨市| 武川县| 长宁县| 彭阳县| 兴隆县| 怀集县| 大足县| 昌黎县| 长丰县|