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

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

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

    日出星辰

    用序列化(Serializable)保存、讀取對象

       實現Serializable借口的對象可以被轉換成一系列字節,并可以在以后使用時完全恢復原來的樣子。這一過程也可以在網絡中進行,這樣就可以先在windows機器上創建一個對象,對其序列化,然后通過網絡發送給Linux機器,就可以在Linux機器上準確無誤地恢復成原來的樣子。整個過程不必關心數據在不同機器上如何表示,也不必關心字節的順序或其他細節。

          序列化的思想就是“凍結”對象,操作對象(寫到磁盤,通過網絡傳輸等),然后“解凍”對象,重新獲得可用的Java對象。功能的實現要靠ObjectInputStream/ObjectOutputStream類,完全保真原數據,并且開發愿意用Serializable。

         實現了Serializable接口的類為保證serialVersionUID 值跨不同 java 編譯器實現的一致性,序列化類必須聲明一個明確的 serialVersionUID 值。

         ClassA.java

    public class ClassA implements Serializable {
    
    	private static final long serialVersionUID = 6013572251564847381L;
    	private String name = "My name is a";
    	private ClassB b = null;
    
    	ClassA() {
    		b = new ClassB();
    	}
    
    	public String show() {
    
    		System.out.println("a.toString <a.name=\"" + this.name
    				+ "\" a.b.name=\"" + this.b.getName() + "\">");
    
    		return "a.toString <a.name=" + this.name + " a.b.name="
    				+ this.b.getName() + ">";
    		// \" 雙引號
    		// \' 單引號
    		// \\ 反斜線
    	}
    
                     .......................
    }
    

        ClassB.java

    public class ClassB implements Serializable{
    
    	private static final long serialVersionUID = -4324044767844361076L;
    
    	private String name="My name is b";
    	
    	ClassB(){}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    	
    }
    

    將對象內容保存到文本中

    WriteSeri.java

    public class WriteSeri {
    
    	public static void main(String args[]){
    		ObjectOutputStream outObj=null;
    		try {
    			//將對象內容寫入到文本中
    			FileOutputStream  outStr=new FileOutputStream("obj.txt");
    			outObj=new ObjectOutputStream(outStr);
    			ClassA a=new ClassA();
    			outObj.writeObject(a);
    			System.out.println("write obj:"+a.show());
    			outObj.flush();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally{
    				try {
    				if (outObj != null) {
    					outObj.close();
    				}
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    

    輸出結果:

    a.toString <a.name="My name is a" a.b.name="My name is b">
    write obj:a.toString <a.name=My name is a a.b.name=My name is b>

    將文本內容還原給對象

    ReadSeri.java

    public class ReadSeri {
    
    	public static void main(String args[]) {
    		ObjectInputStream inObj = null;
    		try {
    			FileInputStream inStr = new FileInputStream("obj.txt");
    			inObj = new ObjectInputStream(inStr);
    			ClassA a = (ClassA) inObj.readObject();
    			System.out.println("read object:" + a.show());
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} finally {
    			if (inObj != null) {
    				try {
    					inObj.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    	}
    }
    

    輸出結果:

    a.toString <a.name="My name is a" a.b.name="My name is b">
    read object:a.toString <a.name=My name is a a.b.name=My name is b>

     

     

     

     

    posted on 2011-08-23 15:33 日出星辰 閱讀(186) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲黄片毛片在线观看| 国产伦精品一区二区三区免费迷 | 国产精品成人免费观看| 四虎影视在线永久免费看黄| 亚洲乱码国产乱码精华| 女人被男人桶得好爽免费视频| 亚洲国产成+人+综合| 综合在线免费视频| 亚洲中文字幕在线无码一区二区| 日本一卡精品视频免费| 亚洲成人福利在线| 中文字幕无码免费久久99| 中文字幕亚洲综合久久综合| 性感美女视频在线观看免费精品| 亚洲AV男人的天堂在线观看| 永久中文字幕免费视频网站| 在线精品自拍亚洲第一区| 亚洲色婷婷综合开心网| 免费看一区二区三区四区| 亚洲女人初试黑人巨高清| 尤物永久免费AV无码网站| h片在线观看免费| 久久亚洲精品成人| 57PAO成人国产永久免费视频 | 亚洲人成77777在线播放网站| 污污污视频在线免费观看| 亚洲国产精品嫩草影院久久| 免费无码AV一区二区| 青青青青青青久久久免费观看| 亚洲欧洲日产国码久在线| 在线免费观看韩国a视频| 亚洲a无码综合a国产av中文| av无码久久久久不卡免费网站| 久久亚洲精品无码AV红樱桃| 中文字幕视频免费| 在线综合亚洲中文精品| 午夜国产羞羞视频免费网站| 日韩毛片一区视频免费| 亚洲AV一宅男色影视| 18禁男女爽爽爽午夜网站免费| 亚洲欧洲日韩极速播放|