<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2SE中的序列化詳解

    Java中處處體現著簡單的程序設計風格,序列化作為最常用的功能之一,在java中的設計尤為“簡單”。在ObjectInputStream 和ObjectOutputStream的幫助下,我們可以輕松的實現序列化。

    只要我們的class 實現了java.io.Serializable接口,就可以利用ObjectOutputStream的writeObject()方法將一個對象序列化;利用ObjectInputStream的readObject()方法,可以返回讀出的object對象。Serializable接口不需要我們實現任何方法。

    以下是一個例子,它能給我們一個感性的初步認識:

    Serial實現了就java.io.Serializable接口,是需要序列化的類。我們首先構造一個Serial的對象serial1然后將其保存(序列化)在一個文件中,而后再將其讀出(反序列化),并打印其內容。
    package Stream;

    /**

    * @author favo yang

    */

    import java.io.*;

    public class Serial implements Serializable {

     int company_id;

     String company_addr;

     boolean company_flag;

     public Serial(){}//不同于C++,沒有也可以

     public Serial(int company_id,String company_addr,boolean company_flag) {

    this.company_id=company_id;

    this.company_addr=company_addr;

    this.company_flag=company_flag;

     }

     public static void main(String[] args) {

    Serial serial1 = new Serial(752,"dayer street #5 building 02-287",false);//構造一個新的對象

    FileInputStream in=null;

    FileOutputStream out=null;

    ObjectInputStream oin=null;

    ObjectOutputStream oout=null;

    try {

     out = new FileOutputStream("5.txt");

     oout = new ObjectOutputStream(out);

     serial1.serialize(oout);//序列化

     oout.close();

     oout=null;

     in = new FileInputStream("5.txt");

     oin = new ObjectInputStream(in);

     Serial serial2 = Serial.deserialize(oin);//反序列化

     System.out.println(serial2);//打印結果

    } catch (Exception ex){

     ex.printStackTrace();

    } finally{

     try {

    if (in != null) {

     in.close();

    }

    if (oin != null) {

     oin.close();

    }

    if (out != null) {

     out.close();

    }

    if (oout != null) {

     oout.close();

    }

     } catch (IOException ex1) {

    ex1.printStackTrace();

     }

    }

     }

     /**

     * deserialize

     */

     public static Serial deserialize(ObjectInputStream oin) throws Exception{

    Serial s=(Serial)oin.readObject();

    return s;

     }

     public String toString() {

    return "DATA: "+company_id+" "+company_addr+" "+company_flag;

     }

     /**

    * serialize

     */

     public void serialize(ObjectOutputStream oout) throws Exception{

    oout.writeObject(this);

     }

    }

    運行結果:DATA: 752 dayer street #5 building 02-287 false

    正確打印了結果。

    posted on 2006-11-22 20:00 Timothy 閱讀(161) 評論(0)  編輯  收藏 所屬分類: JAVA大本營

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    語義Web : 網絡就是計算機,軟件就是服務!

    常用鏈接

    留言簿(4)

    隨筆檔案(20)

    文章分類(25)

    文章檔案(25)

    新聞分類(4)

    新聞檔案(4)

    相冊

    收藏夾(27)

    個人主頁

    網絡博客

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费看一级一级人妻片| 亚洲欧洲尹人香蕉综合| 青青草97国产精品免费观看| 暖暖在线日本免费中文| 久久国产亚洲精品| 暖暖日本免费在线视频| 国产精品亚洲а∨天堂2021| 日韩免费视频播播| 免费一区二区三区在线视频| 浮力影院亚洲国产第一页| 国产精品免费久久久久影院 | 精品亚洲成a人片在线观看少妇 | 国产亚洲精品自在久久| 国产成年无码久久久免费| 亚洲a一级免费视频| 黄色网址免费观看| 亚洲高清乱码午夜电影网| 内射无码专区久久亚洲| 三年片免费高清版| 亚洲电影免费观看| 国产一级高清免费观看| 一本大道一卡二大卡三卡免费| 久久亚洲伊人中字综合精品| 免费不卡视频一卡二卡| 免费国产黄网站在线观看动图| 国产性爱在线观看亚洲黄色一级片 | 亚洲国产精品yw在线观看| 日本高清免费中文字幕不卡| j8又粗又长又硬又爽免费视频 | 亚洲AV永久无码精品| 四虎在线免费视频| 黄网站在线播放视频免费观看| 亚洲精品国产字幕久久不卡| 成人浮力影院免费看| 一级做a爰片久久毛片免费陪 | 在线永久看片免费的视频| 亚洲av日韩专区在线观看| 亚洲人精品午夜射精日韩| 天天天欲色欲色WWW免费| 国产猛男猛女超爽免费视频| 亚洲日韩国产一区二区三区在线|