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

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

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

    J2SE中的序列化詳解

    Java中處處體現(xiàn)著簡(jiǎn)單的程序設(shè)計(jì)風(fēng)格,序列化作為最常用的功能之一,在java中的設(shè)計(jì)尤為“簡(jiǎn)單”。在ObjectInputStream 和ObjectOutputStream的幫助下,我們可以輕松的實(shí)現(xiàn)序列化。

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

    以下是一個(gè)例子,它能給我們一個(gè)感性的初步認(rèn)識(shí):

    Serial實(shí)現(xiàn)了就java.io.Serializable接口,是需要序列化的類。我們首先構(gòu)造一個(gè)Serial的對(duì)象serial1然后將其保存(序列化)在一個(gè)文件中,而后再將其讀出(反序列化),并打印其內(nèi)容。
    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);//構(gòu)造一個(gè)新的對(duì)象

    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);//打印結(jié)果

    } 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);

     }

    }

    運(yùn)行結(jié)果:DATA: 752 dayer street #5 building 02-287 false

    正確打印了結(jié)果。

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

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

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    語義Web : 網(wǎng)絡(luò)就是計(jì)算機(jī),軟件就是服務(wù)!

    常用鏈接

    留言簿(4)

    隨筆檔案(20)

    文章分類(25)

    文章檔案(25)

    新聞分類(4)

    新聞檔案(4)

    相冊(cè)

    收藏夾(27)

    個(gè)人主頁

    網(wǎng)絡(luò)博客

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 人成免费在线视频| 成人免费视频试看120秒| 猫咪免费人成网站在线观看入口 | 亚洲成a人无码亚洲成www牛牛| 啦啦啦中文在线观看电视剧免费版| 亚洲国产精品无码久久九九大片| 亚洲中文无韩国r级电影| h视频在线免费看| 在线综合亚洲欧洲综合网站| www国产亚洲精品久久久| 在线观看片免费人成视频播放| 中文字幕亚洲综合久久| 日韩免费福利视频| AAA日本高清在线播放免费观看| 亚洲最新黄色网址| 免费一级毛片不卡在线播放| 日韩内射激情视频在线播放免费| 亚洲av中文无码字幕色不卡| 亚洲电影免费在线观看| 国产传媒在线观看视频免费观看| 黄色网址在线免费| 亚洲久热无码av中文字幕| 亚洲精品美女视频| 午夜亚洲av永久无码精品| 日韩精品内射视频免费观看| 白白色免费在线视频| 亚洲精品国产福利片| 亚洲日韩国产一区二区三区| 成人一a毛片免费视频| 日本免费人成网ww555在线| 国产综合成人亚洲区| 亚洲久本草在线中文字幕| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 精品国产亚洲一区二区三区| 国产网站免费观看| 成人人免费夜夜视频观看| 8888四色奇米在线观看免费看| 四虎一区二区成人免费影院网址| 亚洲六月丁香婷婷综合| 国产亚洲人成网站观看| 亚洲国产成人精品91久久久|