淺談java序列化與反序列化

淺談java序列化與反序列化

ID:32588644

大?。?4.22 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2019-02-13

淺談java序列化與反序列化_第1頁(yè)
淺談java序列化與反序列化_第2頁(yè)
淺談java序列化與反序列化_第3頁(yè)
淺談java序列化與反序列化_第4頁(yè)
淺談java序列化與反序列化_第5頁(yè)
資源描述:

《淺談java序列化與反序列化》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、首先解釋兩個(gè)概念'何為序列化?何為反序列化?序列化:將對(duì)象轉(zhuǎn)化成流的過(guò)程稱為序列化反序列化:將流轉(zhuǎn)化成對(duì)象的過(guò)程稱之為反序列化序列化與反序列化必須遵守的原則a)Java對(duì)象在java中要想使一個(gè)java乂寸象可以實(shí)現(xiàn)序列化與反序列化,必須讓該類實(shí)現(xiàn)java?io?Serializmb丄0接口java.io.Serializable接口定義如下:publicinterfaceSerializable{}從上述定義屮可以看到該接口屮未定義任何方法,這大大的簡(jiǎn)化了開發(fā)者b)序列化主要依賴java.io.ObjectOutput

2、Stream類,該類對(duì)java.io.FileOutputStream進(jìn)一步做了封裝,這里主要使用ObjectOutputStrearn類的writeObject()方法實(shí)現(xiàn)序列化功能Demo:★將對(duì)象序列化到磁盤文件中*@paramo*@throwsException*/publicstaticvoidwriteObject(Objecto)throwsExceptioFilef=newFile(nd:n"userif(f?exists()){f.delete();}FileOutputStreamos=newFile

3、OutputStream(f);//ObjectOutputStream核心類ObjectOutputstreamoos=newObjectOutputStream(os);oos.writeObject(o);oos?close();os?close();a)反序列化主要依賴java?io.ObjectInputstream類/該類對(duì)java.io.Inputstream進(jìn)一步做了封裝,這里主要使用ObjectInputStream類的readObject()方法實(shí)現(xiàn)序列化功能★反序列化,將磁盤文件轉(zhuǎn)化為對(duì)象*@par

4、amf*@return*@throwsException*/publicstaticUserreadobject(Filef)throwsException!Inputstreamis=newFileinputstream(f);//ObjectOutputStream核心類ObjectInputStreamois=newObjectlnputStream(is);return(User)ois-readobject();貼岀完整的demoJava對(duì)象:packagecom>ioebean;importjava.io.S

5、erializable;publicclassUserimplementsSerializable{privateintuserld;privateStringuserName;privateStringuserSex;privateintuserAge;publicintgetUserAge(){returnuserAge;}publicvoidsetUserAge(intuserAge){this?userAge=userAge;}publicintgetUserld(){returnuserid;}publievo

6、idsetUserld(intuserid){this.userid=userid;}publicStringgetUserName(){returnuserName;}publievoidsetUserName(StringuserName){this?userName=userName;}publicStringgetUserSex(){returnuserSex;}publievoidsetUserSex(StringuserSex){this?userSex=userSex;}QOverridepublicStr

7、ingtoString(){returnthis?getUserId()+"n+this?getUserName()+ftn+this?getUserSex()+”H+this.getUserAge();序列化少反序列化packagecom.io?test;importjava?io.File;importjava?io?FileInputStream;importjava?io?FileOutputStream;importjava.io.InputStream;importjava.io.ObjectlnputStr

8、eam;importjava.io?ObjectOutputStream;importcom>io?bean?User;publicclassTestSerializable{/**★將對(duì)彖序列化到磁盤文件屮*@paramo*@throwsException*/publicstaticvoidwriteObject(

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。